Ich habe ein Dokument mit dem Array von Objekten und ein Objekt enthält mehrere Objekte Ich möchte inneres Objekt mit $set
aktualisieren, aber habe kein Glück. kann mir jemand einen Hinweis geben, damit ich es lösen kann ?.Mongoose: Update funktioniert nicht in verschachtelten Array-Objekt
Das ist mein Ziel:
{
"_id": ObjectId("56fbfafdf86fa6161911d104"),
"site": "xyz",
"adsPerCategory": NumberInt(2),
"sampledAt": ISODate("2016-03-30T16:12:45.138+0000"),
"items": [
{
"id": "4563873",
"content": {
"title": "WATER DISTILLERS",
"body": "Perfect to save money.",
}
},
{
"id": "4563s23232873",
"content": {
"title": "Cola water",
"body": "Perfect for body.",
}
}
]
}
I body
aktualisieren möchten.
für jetzt habe ich single object
gegeben, aber es kann mehrere sein.
Hier ist, was ich
versuchtmodels.Sample.update(
{
_id: samples._id
},
'$set': {
'items.0.content.body': body.description
},
function(err, numAffected) {
console.log(err);
console.log('Affected....', numAffected);
}
);
Es funktioniert gut, wenn ich 0
setzen, aber ich möchte es dynamisch machen.
Wie 'items.index.content.body': body.description
danken Ihnen.
Sie meinen, Sie möchten alle Elemente mit dem gleichen Körperinhalt aktualisieren? –
Nein, Objekte haben mehrere Objekte und jedes Objekt hat einen anderen Körperinhalt , so dass ich 'foreach' zum Iterieren und Aktualisieren des gesamten Körpers mit unterschiedlichen Inhalten – abdulbarik
habe ich nur Körper Wert aktualisiert. – abdulbarik