How to assign "null" or "undefined" for a property with children , in mongoose

I want to make the "address" property "null" or "undefined" if I haven't initialized it in mongoose. I have tried to initialize it to a null value but didn't work.

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

Upvotes: 3

Views: 4803

Answers (1)

max-lt
max-lt

Reputation: 1441

You have to define an other schema for "address":

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

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

Upvotes: 2

Related Questions