MongoDB: Daten zu einem verschachtelten Array mit $push hinzufügen
In MongoDB können Sie komplexe Datenstrukturen, wie zum Beispiel verschachtelte Arrays, speichern. Wenn Sie diesen Arrays neue Elemente hinzufügen müssen, können Sie den $push-Operator verwenden.
Problem:
Sie möchten einem bestimmten Unterarray ein neues Element hinzufügen innerhalb eines Dokuments. Ihr Dokument enthält eine verschachtelte Reihe von Musiktiteln in einer Wiedergabeliste. Sie möchten einer bestehenden Playlist einen neuen Titel hinzufügen.
Beispieldokument:
{ "username": "erkin", "email": "example@email.com", "password": "b", "playlists": [ { "_id": 58, "name": "asdsa", "date": "09-01-15", "musics": [ { "name": "INNA - Cola Song (feat. J Balvin)", "duration": "3.00" } ] } ] }
Gewünschtes Ergebnis:
{ "username": "erkin", "email": "example@email.com", "password": "b", "playlists": [ { "_id": 58, "name": "asdsa", "date": "09-01-15", "musics": [ { "name": "INNA - Cola Song (feat. J Balvin)", "duration": "3.00" }, { "name": "new", "duration": "3.00" } ] } ] }
Lösung:
So fügen Sie ein neues Element hinzu Für das Musik-Subarray können Sie die folgende Aktualisierungsabfrage verwenden:
db.collection.update( { "_id": ID, "playlists._id": "58"}, { "$push": {"playlists.$.musics": { "name": "test name", "duration": "4.00" } } } )
In dieser Abfrage:
Das obige ist der detaillierte Inhalt vonWie füge ich mit $push ein neues Element zu einem verschachtelten Array in MongoDB hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!