Node.js 如何分配;空";或;“未定义”;对于一个有孩子的财产,在猫鼬

Node.js 如何分配;空";或;“未定义”;对于一个有孩子的财产,在猫鼬,node.js,mongodb,mongoose,schema,subdocument,Node.js,Mongodb,Mongoose,Schema,Subdocument,如果我没有在mongoose中初始化“address”属性,我想将其设置为“null”或“undefined”。我尝试将其初始化为空值,但没有成功 var userSchema = new Schema({ name: { type: String, default: null }, address: { number: { type: String, default: null }, route: { type: String, default: nul

如果我没有在mongoose中初始化“address”属性,我想将其设置为“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();

您必须为“地址”定义其他架构:


检索值时会发生什么情况?我是否应该编写两个检索,一个用于userSchema,另一个用于addressSchema?如果以这种方式包含
地址
,则
地址
对象将只是
用户
的成员(如您的示例中所示)。
var addressSchema = new Schema({
  number: {type: String, default: null},
  ...
}); 

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