2017-12-17 14 views
0

zuweisen Ich möchte die "Adresse" -Eigenschaft "null" oder "undefined", wenn ich es nicht in Mungoose initialisiert habe. Ich habe versucht, es auf einen Nullwert zu initialisieren, hat aber nicht funktioniert.Wie "Null" oder "undefined" für eine Eigenschaft mit Kindern, in mongoose

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

Antwort

0

Sie haben ein anderes Schema für die „Adresse“ zu definieren:

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

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

Was passiert, wenn ich Werte bin Abrufen? Sollte ich zwei Abrufe schreiben, einen für userSchema und einen für addressSchema? – Coinage

+0

Nein, wenn Sie 'address' auf diese Weise angeben, ist das' address' Objekt nur ein Mitglied von 'user' (wie in Ihrem Beispiel). –

Verwandte Themen