MongoDB - Update ein Objekt in geschachtelte Array
{
"_id": "xPBc4By8FemDwTPqH",
"u": {
"_id": "6PoZawHZcQz4Gwzcv",
"username": "michael"
},
"friends": [
{
"u": {
"_id": "eGqDjAjjtYADbuSnn",
"username": "michael",
"name": "michael"
}
},
{
"u": {
"_id": "k4gKCGwYryXDMMHvs",
"username": "joyce",
"name": "joyce"
}
}
]
}
Will ich update den Namen "Freunde.u.username": "michael" 's name ist "Hallo", wie ich brauche, es zu tun.
InformationsquelleAutor | 2015-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelten die
$Satz
- operator zusammen mit der$
positions-Betreiber in Ihrem update zum ändern dername
Feld.Den
$
positions-Betreiber identifizieren das richtige element im array zu aktualisieren, ohne explizite Angabe der position des Elements im array, also deine Letzte update-Anweisung sollte wie folgt Aussehen:0
statt$
, die (falsche) element auf array geändertHaben Sie eine Frage, die bereits mit den details für Ihr problem? Wenn nicht, können Sie eine erstellen mit einem Beispiel-Dokument und das gewünschte Ergebnis?
Ich werde versuchen, ein bisschen mehr. Vielleicht ist es einige Treiber-problem mit Robo3T und rückwärts Kompatibilität: stackoverflow.com/questions/4669178/.... Wenn nichts funktioniert, ich werde zu öffnen, eine Frage. Danke!!! 🙂
Ich bin mit MongoDB 3.2.0. Scheinbar ist diese version nicht unterstützt diese Art von operation.
InformationsquelleAutor chridam
Können Sie die $ - set-operator.
InformationsquelleAutor Srivatsa N