MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So aktualisieren Sie mehrere Array-Elemente in Mongodb

AKTUALISIERUNG: Ab Mongo Version 3.6 ist diese Antwort nicht mehr gültig, da das erwähnte Problem behoben wurde und es Möglichkeiten gibt, dies zu erreichen. Bitte überprüfen Sie andere Antworten.

Derzeit ist es nicht möglich, den Positionsoperator zu verwenden, um alle Elemente in einem Array zu aktualisieren. Siehe JIRA http://jira.mongodb.org/browse/SERVER-1243

Als Umgehung können Sie:

  • Aktualisiere jedes Element einzeln (events.0.handled events.1.handled...) oder...
  • Lesen Sie das Dokument, nehmen Sie die Änderungen manuell vor und speichern Sie es, indem Sie das ältere Dokument ersetzen (aktivieren Sie "Update ifCurrent", wenn Sie atomare Updates sicherstellen möchten)