In MongoDB wie verwenden Sie $set
, um einen verschachtelten Wert zu aktualisieren?
Betrachten wir zum Beispiel eine Sammlung Menschen mit dem folgenden Dokument:
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
Wie aktualisiere ich die street
Feld in der "123"
-"Main Street"
address
Dokument eingebettet?
Funktioniert das auch, wenn die Adresse nicht existiert? Ich weiß, $ set wird Straße erstellen, wenn es nicht auf Adresse existiert, aber was ist das Verhalten, wenn die Vorfahren Eigenschaften nicht existieren? Außerdem erfordert Ihr Link eine Anmeldung. – Tom
@Tom, danke für das Heads-up über den Link, ich habe es behoben. Um Ihre Frage zu beantworten: Es erstellt die erforderlichen Vorfahreneigenschaften für Sie, wenn sie nicht existieren. –
@Tom Ja wird es. Dadurch wird das gesamte Objekt bis auf das Feld, das Sie festlegen, erstellt. (Späte Antwort, aber hoffentlich ist das nützlich für andere, die auf diese Frage stolpern) – Nepoxx