Javascript 为什么mongoose中的模型不设置属性

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

我尝试用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 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:{})
By
English
,您的意思是
student.class
属性具有
null
值权限吗?