【发布时间】:2021-03-21 11:17:54
【问题描述】:
const User = require('./models/user')
module.exports = new class Users {
async get(token) {
return await User.find({"activeToken": token}).exec();
}
}
我的查找功能总是返回“找不到你要找的东西”,我试过 users.activateToken、User.activateToken 和只是 activateToken 还是不行。
{
"_id": "text",
"activeToken": "abcdefg",
"activated": "false",
"email": "email",
"__v": 0
}
抛出的错误只是“null”
我试图运行它的功能:
bot.on('message', async (message) => {
const user = await users.get(message.content);
if (message.content == user.activeToken && !user.activated && message.channel.type == 'dm') {
user.discord_id = message.member.id;
const role = message.guild.roles.cache.get(config.member_role);
console.log("Test");
if(role){
try {
console.log("You Won");
message.member.roles.add(role);
message.author.send(replyText);
user.activated = true;
user.activeToken = "";
}
catch(err) {
console.log(err);
console.log("Error Occured");
}
}
}
else {
console.log(user);
}
})
这行代码
console.log(user);
返回 (0) [] 与“user.activeToken”
但返回 (1) [模型] 只需常规的“activeToken”
用户架构:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
//user schema
var UserSchema = new Schema({
_id: String,
discord_id: String,
email: String,
activeToken: {
type: String,
default: "",
},
activated: {
type: String,
default: false
},
});
const User = mongoose.model('User', UserSchema);
module.exports = User;
【问题讨论】:
标签: node.js mongodb discord.js