【问题标题】:MongoDB object type is not savedMongoDB 对象类型未保存
【发布时间】:2021-03-10 19:55:38
【问题描述】:

我的用户架构如下。

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)的结果是“{ _id: ~~~????, username: 'babo', password: '1234' }”,其中不包含习惯字段...如何我可以添加习惯吗?

【问题讨论】:

  • habit: {type:Object, default : {} }怎么样
  • @JeremyThille 即使使用default: {},如果架构选项中的minimize: true 仍将被删除/变为未定义。

标签: javascript mongodb


【解决方案1】:

默认情况下 mongo 不保存空对象。因此,如果您想保存一个空对象,您必须将第二个参数 { minimize: false } 传递给您的 Schema

使用此代码。这应该可以解决您的问题。

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 });

【讨论】:

    猜你喜欢
    • 2020-05-29
    • 2020-10-17
    • 2018-06-21
    • 1970-01-01
    • 2017-06-26
    • 2020-12-18
    • 2020-10-28
    • 2014-11-01
    • 2017-01-13
    相关资源
    最近更新 更多