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

Bedingte Aktualisierung mehrerer Zeilen

Es gibt keine Möglichkeit, dies in einem Schritt zu tun. Die Operation, die dem, was Sie suchen, am nächsten kommt, ist saveAll Funktion. JS-API-Referenz

Hier ist die Beschreibung:

Beispielverwendung:

Parse.Object.saveAll([object1, object2, ...], {
  success: function(list) {
    // All the objects were saved.
  },
  error: function(error) {
    // An error occurred while saving one of the objects.
  },
});

Bei dieser Operation müssen Sie immer noch die Objekte abfragen, sie durchlaufen und die Werte aktualisieren und dann saveAll aufrufen in der Liste der aktualisierten Objekte.

Es gab ein wenig Verwirrung um saveAll Betrieb – insbesondere, wie viele API-Anforderungen verwendet werden. Dies ist sicherlich darauf zurückzuführen, dass Parse die Abrechnung von API-Anforderungen geändert hat und das, was früher für diese Operation galt, nicht mehr gilt.

Pro diesen Link :

Das stimmt nicht mehr . Im April 2014 änderte Parse sein Preismodell auf Anfragen pro Sekunde Metrik, aber später in diesem Jahr Parse auch geändert, wie Batch-API-Anfragen gezählt wurden, seit Entwickler begannen, Batch-Operationen auszunutzen.

Hier ist ein Auszug aus einer offiziellen Erklärung von Parse zu diesem Thema :

Mit saveAll Der heutige Vorgang führt zu einer API-Anfrage pro Objekt in der Liste, wodurch effektiv save aufgerufen wird für jedes einzelne Objekt.

Derzeit führt kein Weg daran vorbei, dass für jedes der modifizierten Objekte save aufgerufen werden muss. Hoffentlich ist dies etwas, das Parse in Zukunft hinzufügen wird.