Gibt es eine einfache Möglichkeit, verschachtelte Array von Entitäten in MongoDB zu aktualisieren. Ich benutze MongoDB C# Driver
für den DB-Aufruf von der Anwendung. Unten ist ein exmaple: ich habe eine Student
Sammlung haben, wobei jedes Dokument eine verschachtelte Anordnung von Course
mit einigen notwendigen Felder ausgefüllt hat und Course
selbst eine getrennte Sammlung wie ist:Update-Eigenschaft in verschachtelten Array von Entitäten in MongoDB
{
"_id": "234dssfcv456",
"Name": "Jean Douglas",
"Age": 32,
"Courses":
[
{
"_id": "1234",
"Name": "Computer Science",
"Level": "Basic"
},
{
"_id": "3456",
"Name": "Bio Science",
"Level": "Intermediate"
}
]
}
Ich weiß, dass ich die verschachtelte Einheit aktualisieren per Index etwas wie unten, aber ich kenne den Index nicht und kenne nur das verschachtelte Course
Objekt Id
nur.
db.College.Student.update(
{"Student._id": "234dssfcv456"},
{$set: {
"Student.$.Courses.1.Level": "Basic"
}}
Im Moment lese die gesamte verschachtelte Array von Kursen -> die Änderung bei Anwendung Ende tun -> vorbei dann das gesamte Array für die Aktualisierung mit dem filedname "Courses"
die das bestehende Array mit dem ersetzen wird bestanden.
Aber dachte, gibt es eine Möglichkeit, eine Entität in Array mit der Id
zur Verfügung zu aktualisieren. Bitte vorschlagen.
*** Auf der rechten Seite in Verwandten Frage Abschnitt alle Shows die verschachtelte Array von Objekten mit dem Index der Objektposition zu aktualisieren, das für mich nicht eine Möglichkeit.
Echt nette Antwort. Schätzen Ihre Bemühungen. Danke Kumpel :) – Rahul