MongoDB / Discord.js-检查集合是否存在

时间:2020-05-14 20:54:37

标签: mongodb mongoose discord.js

我使用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 !")

1 个答案:

答案 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!')
})