我使用MongoDB创建了一个不和谐的机器人,并创建了一个命令来修改机器人商店中的文章。 在修改特定文章之前,必须已经在数据库中找到该文章。是否可以找出命令中键入的名称在数据库中是否存在?如果不存在,则会返回错误消息。
if(!oldName) return message.channel.send('<:croix:704272420873306165> You must indicate the name of your article')
if(!newName) return message.channel.send('<:croix:704272420873306165> You must indicate the new name for your article')
if() return message.channel.send('<:croix:704272420873306165> The name of the item doesn\'t exist.')
await serverDB.set(message.guild.id, { $rename: { [ 'modules.SHOPECO.' + oldName ] : 'modules.SHOPECO.' + newName } })
await serverDB.set(message.guild.id, { $set: { [ 'modules.SHOPECO.' + `${newName}.NAME` ] : newName } })
message.channel.send("Good !")
答案 0 :(得分:1)
您可以使用Model.findOne()
。我不再建议使用Model.exists()
的原因是,根据对此答案的评论,您正在尝试查询多个条件,并且可以使用findOne()
ArticleModel.findOne({ id: message.guild.id }, (err, res) => {
if (res.modules.SHOPECO.includes(args[0]) return message.reply('that article already exists!')
})