我试图计算数据库中的条目数(带有模式),同时仅针对特定用户进行过滤(过滤器),但它一直不起作用。
这是我的代码:
WarningSchema.find({ user_id: user.id.toString() }).countDocuments((err, count) => {
client.users.cache.get(user.id).send({
embeds: [
new EmbedBuilder().setTitle('Notice').setColor('#2B2D31').setDescription(`You have received an official warning on behalf of the RCA Moderation Team.`).addFields({ name: 'Moderator', value: `<@${interaction.user.id}>`, inline: true }, { name: 'Warning #', value: `${count}`, inline: true }, { name: 'Content', value: reason, inline: false })
]
})
// ...
})
我尝试在独立函数中使用 find 方法并将其分配给变量:
const count = WarningSchema.find({ user_id: user.id.toString() }).countDocuments().exec();
但是,这也不起作用。
我当前的代码仅返回:
warning.countDocuments({ user_id: '1096621476859351102' })
(计算 Discord 机器人的警告次数)
的返回值
countDocuments
是一个Promise。因此async
问题似乎是原因。使用
async/await
(或者您可以使用.then()
)它将看起来像这样: