meiner Sammlung ist wie folgt:Mongoose: update verschachtelt Dokument Array
"_id" : ObjectId("5751f7892ae95d601f40411d"),
"doc" : [
{
"org" : ObjectId("5751f7892ae95d601f40411c"),
"action" : 0,
"_id" : ObjectId("5751f7892ae95d601f40411e")
},
{
"org" : ObjectId("5751952cace204c507fad255"),
"action" : 1,
"_id" : ObjectId("575217ce341cf6512b8dff39")
} ]
Ich möchte mit org im doc Aktionsfeld aktualisieren: 5751952cace204c507fad255 so wird Aktion gleich 2 Ich weiß, das hat schon viele beantwortet Zeiten, aber es ist nicht
Hier arbeiten für mich ist, was ich versucht, aber Sammlung nicht ändern:
Model.update(
{
"_id":ObjectId("5751f7892ae95d601f40411d"),
"doc.org":ObjectId("5751952cace204c507fad255")
},
{
"$inc": {
"doc.$.action": 1
}
}
)
Wo bekommen Sie die 'ObjectId()' Wrapper aus? – chridam
var ObjectId = require ('Mungo'). Types.ObjectId; Ich dachte auch, es ist ein Problem, meine Sammlung zu finden, aber ich habe Model.find mit den gleichen Bedingungen ausprobiert und das Ergebnis gedruckt und meine Sammlung wurde erfolgreich gefunden. –
Haben Sie versucht, ohne die Zeichenfolge '_id' zu aktualisieren? – chridam