Javascript 未保存MongoDB对象类型

Javascript 未保存MongoDB对象类型,javascript,mongodb,Javascript,Mongodb,我的用户模式如下所示 var userSchema=mongoose.Schema({ //name:{type:String}, username: {type:String, required:true, unique:true}, password: {type:String, required:true}, habit: {type:Object, required:true} }); 然而,当我将新用户(新手)保存到mongoDB时,只有习惯字段没有

我的用户模式如下所示

var userSchema=mongoose.Schema({
    //name:{type:String},
    username: {type:String, required:true, unique:true},
    password: {type:String, required:true},
    habit: {type:Object, required:true}
});

然而,当我将新用户(新手)保存到mongoDB时,只有习惯字段没有保存

var newbie=new User({
    username:username,
    password:password,
    habit:{}
});
console.log(newbie);

console.log(newbie)的结果是“{u id:~~~?,用户名:'babo',密码:'1234'}”,它不包含习惯字段。。。如何添加习惯?

默认情况下,mongo不保存空对象。因此,如果要保存空对象,必须将第二个参数
{minimize:false}
传递到
模式

使用此代码。这应该能解决你的问题

var userSchema=mongoose.Schema({
    //name:{type:String},
    username: {type:String, required:true, unique:true},
    password: {type:String, required:true},
    habit: {type:Object, required:true}
}, { minimize: false });

默认情况下,mongo不保存空对象。因此,如果要保存空对象,必须将第二个参数
{minimize:false}
传递到
模式

使用此代码。这应该能解决你的问题

var userSchema=mongoose.Schema({
    //name:{type:String},
    username: {type:String, required:true, unique:true},
    password: {type:String, required:true},
    habit: {type:Object, required:true}
}, { minimize: false });

关于
习惯:{type:Object,default:{}
@JeremyThille即使使用
默认:{}
,如果在模式选项中
最小化:true
,它仍将被删除/变得未定义。关于
习惯:{type:Object,default:{}
@JeremyThille即使使用
默认:{}
,,如果模式选项中的
minimize:true
,它仍将被删除/变得未定义。Life saver my man Life saver my man