如何在猫鼬中为具有孩子的属性分配“null”或“undefined”

Posted

技术标签:

【中文标题】如何在猫鼬中为具有孩子的属性分配“null”或“undefined”【英文标题】:How to assign "null" or "undefined" for a property with children , in mongoose 【发布时间】:2018-05-31 02:11:15 【问题描述】:

如果我没有在猫鼬中初始化它,我想将“地址”属性设置为“null”或“undefined”。我试图将其初始化为空值,但没有奏效。

var userSchema = new Schema(
    name:  type: String, default: null ,
    address: 
      number:  type: String, default: null ,
      route:  type: String, default: null ,
      areaInner:  type: String, default: null ,
      areaOuter:  type: String, default: null ,
      country:  type: String, default: null 
    
,timestamps:true);

var User = mongoose.model('users', userSchema);

var newUser = User(
        name: name,
        address:null
);

newUser.save();

【问题讨论】:

【参考方案1】:

您必须为“地址”定义另一个架构:

var addressSchema = new Schema(
  number: type: String, default: null,
  ...
); 

var userSchema = new Schema(
  name: type: String, default: null,
  address: type: addressSchema, default: null
);

【讨论】:

检索值时会发生什么?我应该写两个检索,一个用于 userSchema,一个用于 addressSchema? 不,如果你包含address 这样address 对象将只是user 的成员(就像你的例子一样)。

以上是关于如何在猫鼬中为具有孩子的属性分配“null”或“undefined”的主要内容,如果未能解决你的问题,请参考以下文章

在猫鼬中为朋友模式建模?

如何在猫鼬中动态地将值推入对象的属性?

如何仅在猫鼬中获取子文档?

如何仅在猫鼬中获取子文档?

在猫鼬中删除子文档

在猫鼬中匹配具有字符串值的数组?