Javascript 为什么mongoose中的模型不设置属性
我尝试用ref保存名为class的不同模型。属性在我创建它之后就在模型中,但当我保存它时,类就消失了 这是节约的代码Javascript 为什么mongoose中的模型不设置属性,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我尝试用ref保存名为class的不同模型。属性在我创建它之后就在模型中,但当我保存它时,类就消失了 这是节约的代码 const newStudent = class_id ? new _Student({vkId, class: class_id}) : new _Student({vkId}); //newStudent have class property await newStudent.save();//but there it is dissapear return await
const newStudent = class_id ? new _Student({vkId, class: class_id}) : new _Student({vkId});
//newStudent have class property
await newStudent.save();//but there it is dissapear
return await DataBase.getStudentBy_Id(newStudent._id);
class_id是文档中的objectId
这就是我在模式中定义类属性的方式
class: {
type: mongoose.Schema.ObjectId,
ref: "Class",
autopopulate: true
}
请帮忙。请,你能分享完整的
学生模式吗?另外,您可以尝试将mongoose调试选项设置为true(mongoose.set('debug',true)
),并检查wait newStudent.save()
在终端中生成的实际查询。它是一个学生模型{class:{type:mongoose.Schema.ObjectId,ref:“class”,autopopulate:true},角色:{type:String,默认值:Roles.student,validate:{validator:(role)=>Roles[role],消息:“role必须是已定义的”}}之一,vkId:{type:Number,required:true,unique:true},isSubscribedToMailing:{type:Boolean,default:true}
它是一个调试日志Mongoose:students.createIndex({vkId:1},{unique:true,background:true})
Mongoose:students.insertOne({role:'STUDENT',isSubscribedToMailing:true,_id:ObjectId(“5e54b66f212b1c60fb33a6”),vkId:29,class:ObjectId(“5E5E43F71C9D440007F8BE1”),uu v:0},{session:null}
Mongoose:classes.createIndex({name:1},{unique:true,background:true})
Mongoose:classes.find({id:{'in':[ObjectId:[5E53F71C9D440007F8BE1]),{skip:undefined,limit:undefined,perDocumentLimit:undefined,maxDepth:10,投影:{})
Mongoose:students.findOne({id:ObjectId(“5e54b66f21b1c60fb33a6”),{projection:{}}
Mongoose:classes.find({id:{'in'$in':[ObjectId:[5e53f71c9d44000f8be1”)},{skip:undefined,limit:undefined,perDocumentLimit:undefined,maxDepth:10,_depth:1,projection:{})
ByEnglish
,您的意思是student.class
属性具有null
值权限吗?