Ich möchte mehrere Elemente zu Arrays aus mehreren Zeilen in Mongo hinzufügen. Wie kann ich das tun?
Ich möchte damit beginnen:
%Vor%und füge das Array [6,8] hinzu, wobei x gleich 'h' ist:
%Vor%Ich denke, was Sie suchen, ist der $ pushAll-Operator. Schau mal hier:
Wenn Sie eine MongoDB-Sammlung mit dem Namen yourCollection
und einen Datensatz mit dem Namen x
haben, würden Sie das Sub-Array mit etwas wie diesem aktualisieren:
db.test.update ({"name": "x"}, {"$ pushAll": {arr: [1, 2, 3]}})
Das wichtige Keyword ist $ pushAll . Sie können damit Elemente zu Arrays innerhalb eines einzelnen Datensatzattributs hinzufügen.
Wenn Sie mehrere Datensätze aktualisieren möchten, müssen Sie true
als 4. Argument der Update-Funktion übergeben:
Nach der MongoDB Shell-Syntax für update ():
%Vor%Der einfachste Ansatz besteht in der Verwendung einer herkömmlichen Aktualisierungsoperation
%Vor% $pushAll
Veraltet seit Version 2.4: Verwenden Sie stattdessen den Operator $push
mit $each
.
Der Operator $pushAll
hängt die angegebenen Werte an ein Array an.
Der Operator $pushAll
hat die Form:
Wenn Sie einen einzelnen Wert angeben, verhält sich $pushAll
wie $push
.
Tags und Links arrays mongodb mongodb-query