Ich bin neu bei Mongoose/nodejs und ich kämpfe mit einem einfachen Update eines Arrays innerhalb eines Arrays.Wie in Mungo aktualisieren?
Hier ist das Schema:
var County = new Schema({
_id : Schema.ObjectId,
name : String,
biggestCity : String
});
var Country = new Schema({
_id : Schema.ObjectId,
name : String,
counties : {type: [County], ref: "County"}
});
var Continent = new Schema({
_id : Schema.ObjectId,
countries : {type: [Country], ref: "Country"},
});
Und hier ist der Update-Code ich versucht habe:
var continents = mongoose.model("Continent");
var update = { "countries.counties.name": newName, "countries.counties.biggestCity": newBiggestCity };
var conditions = { "_id": countryId, "countries.name": countryName, "countries.counties.name": countyName };
var options = { multi: false };
wagers.update(conditions, update, options, function(err, numAffected) {
//callback code...
});
Wenn dies zu tun, sagt der Fehler in err „anhängen Kann nicht an Array Zeichenfolge Feldname "Grafschaften" ". Was bedeutet das? Was mache ich falsch?
Ok. Gibt es keine alternative Möglichkeit, das verschachtelte Array zu aktualisieren, ohne das Schema neu definieren zu müssen? – tremolo
@tremolo: da kann oder darf nicht (meine Mungo-Fu ist immer noch schwach), aber ich denke, es ist eine gute Praxis, ein Schema für "Land" sowieso zu definieren. – Ashe
@tremolo: Könnten Sie Ihre Frage mit dem neuen Code aktualisieren? – Ashe