【发布时间】:2020-06-12 22:32:09
【问题描述】:
我正在尝试将数据库集成到我的 DiscordBot 应用程序中,目前在使用 Mongoose 将新用户输入 MongoDB 时遇到问题。 控制台也没有显示任何错误。
const mongoose = require('mongoose')
const User = require('../models/userModels')
module.exports = message => {
User.findOne({userID:message.author.id}, (err,user)=>{
if(user == null){ //Create new db collections if none was found
const user = new User({
_id: mongoose.Types.ObjectId(),
userID: message.author.id,
username: message.author.username,
role: ["default"],
balance: 0,
level: 1,
exp: 0,
lastAttendance: message.createdAt
})
user.save()
.then(result => {
console.log(result)
message.reply("Information saved")
})
.catch(err => console.log.err)
}
}
这是我的型号代码:
const mongoose = require('mongoose')
const Schema = mongoose.Schema
var userSchema = new Schema({
_id: Schema.Types.ObjectId,
userID:{type: String, unique:true, required:true},
username: String,
balance:{type: Number, require:true},
role: {type:String, enum: ['default','admin']},
level:{type: Number, require:true},
exp:{type: Number, require:true},
lastAttendance: Date
})
module.exports = mongoose.model('Users', userSchema)
【问题讨论】:
-
你能在if条件之前
console.log(user)检查用户是否存在吗?也console.log(message.author)检查其内容