Javascript 如何确定消息作者是否是我的mongo数据库的一个元素
编辑:这是固定的强> 很明显,我忘了将猫鼬连接到我的地图册Javascript 如何确定消息作者是否是我的mongo数据库的一个元素,javascript,node.js,mongodb,mongoose,discord.js,Javascript,Node.js,Mongodb,Mongoose,Discord.js,编辑:这是固定的 很明显,我忘了将猫鼬连接到我的地图册 我正在我的机器人中制作一个高级功能,允许用户播放音乐。唯一的错误是我无法找到如何在数据库中找到消息作者的id 像这样使用wait-before查询: const id = await premiumSchema.findOne({ userID: message.author.id }) 之后,如果要检查类型,请使用==实现业务逻辑 if(id.userID == message.author.id) { re
我正在我的机器人中制作一个高级功能,允许用户播放音乐。唯一的错误是我无法找到如何在数据库中找到消息作者的id 像这样使用wait-before查询:
const id = await premiumSchema.findOne({
userID: message.author.id
})
之后,如果要检查类型,请使用==
实现业务逻辑
if(id.userID == message.author.id) {
return message.reply('You are not a premium user!')
}
返回承诺,该承诺将在找到文档时解析文档,否则null
。这意味着您可以简单地检查它是否为null
,而不需要检查ID是否相同。这已经被猫鼬检查过了
不要忘记,如果你在使用承诺,你需要等待结果
试试看{
const premiummber=等待premiumSchema
.findOne({userID:message.author.id})
.exec();
如果(!premiummber){
返回消息。回复('您不是高级用户!');
}
const VC=message.member.voice.channel;
如果(!VC)
返回消息。回复(
'您不是VC!请加入其中一个并重新执行命令!',
);
const connection=wait VC.join();
const dispatcher=连接
.play(ytdl(args[0]))
.on('finish',()=>{
VC.离开();
message.channel.send(`message.author},您的歌曲已结束!`);
})
.on('错误',(错误)=>{
console.log(错误);
message.channel.send('播放此歌曲时出错');
});
调度员:设置音量音量(5/5);
}捕捉(错误){
控制台日志(err);
}
我认为这是可行的,但现在它给了我一个错误:操作`premium users.findOne()` 10000毫秒后缓冲超时
似乎与原始问题无关,您的连接有问题。看看吧,我把DNS改成了8.8.8.8,但仍然不起作用