MongoDB Update (Einfügen einer Liste von Element zu einem Array)
Möchte ich hinzufügen, dass mehrere Elemente auf array von mehreren Zeilen in Mongo. Wie kann ich dies tun?
Möchte ich mit diesem zu starten:
{'x': 'h', arr: [1,2,3] }
{'x': 'h', arr: [1,3] }
und fügen Sie das Feld [6,8], wobei x gleich 'h':
{'x': 'h', arr: [1,2,3,6,8] }
{'x': 'h', arr: [1,6,8] }
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke was du suchst ist die $pushAll Betreiber. Werfen Sie einen Blick hier:
http://docs.mongodb.org/manual/reference/operator/pushAll/#pushall
Wenn Sie eine MongoDB collection mit dem Namen
yourCollection
- und einen Datensatz mit dem Namenx
würden, würden Sie aktualisieren die subarray mit so etwas wie dies:Das wichtige Schlüsselwort hier ist $pushAll. Sie können es verwenden, um Elemente hinzuzufügen, um arrays innerhalb eines einzigen Datensatz Attribut.
Wenn Sie wollen update mehrere Datensätze, ist es wichtig, pass
true
als das 4. argument der update-Funktion:Pro die MongoDB-shell-syntax für die update():
der einfachste Ansatz ist die Verwendung eines herkömmlichen update-Vorgang
$pushAll
Veraltet seit version 2.4: Verwenden Sie die
$push
Betreiber mit$each
statt.Den
$pushAll
Betreiber fügt den angegebenen Werten zu einem array.Den
$pushAll
- operator hat die form:Wenn Sie einen Wert angeben,
$pushAll
Verhalten, als$push
.