'MongooseError: Callback must be a function, got [object Object]' 使用"updateMany"函数时



忽略混乱的代码。我已经连续工作了几个小时,还没有时间整理。

每次messageCount为100或以上时,我都会收到此错误。

const profileData = await Profiles.findOne({
userID: message.author.id
});
if (!profileData) return console.log('re')
try {
if (profileData.messageCount >= 100) {
console.log('yeet')
await Profiles.updateMany({
userID: message.author.id
}, {
messageCount: 0,
}, {
$inc: {
caseCount: +1
}
}, {
upsert: true
});
} else {
console.log('na')
}
} catch (error) {
console.log(error);
}

updateMany()方法只需要3个参数,它希望第四个参数是可选的回调函数,但您使用了一个对象,它解释了错误消息。

组合你的设置和inc参数如下:

await Profiles.updateMany(
{
userID: message.author.id
},
{
$set: { messageCount: 0 },
$inc: { caseCount: 1 },
},
{
upsert: true
}
);

查看文档以了解更多信息。

最新更新