MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zaktualizuj wiele wierszy warunkowo

Nie da się tego zrobić w jednym kroku. Operacją najbliższą temu, czego szukasz, jest saveAll funkcjonować. Informacje o interfejsie API JS

Oto opis:

Przykładowe użycie:

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.
  },
});

Dzięki tej operacji nadal będziesz musiał wyszukiwać obiekty, iterować je i aktualizować wartości, a następnie wywołać saveAll na liście zaktualizowanych obiektów.

Było trochę zamieszania wokół saveAll operacja — w szczególności, ile żądań API wykorzystuje. Wynika to z faktu, że Parse zmienił sposób rozliczania żądań API, a to, co było kiedyś prawdą dla tej operacji, już nie jest.

Na ten link :

To już nieprawda . W kwietniu 2014 r. Parse zmienił model cenowy na żądania na sekundę metryki, ale później w tym samym roku Parse również zmienił sposób liczenia żądań wsadowych API, odkąd programiści zaczęli wykorzystywać operacje wsadowe.

Oto fragment oficjalnego oświadczenia Parse w tej sprawie :

Korzystanie z saveAll dzisiejsza operacja spowoduje 1 żądanie API na obiekt na liście, skutecznie wywołując save dla każdego indywidualnego obiektu.

Obecnie nie ma sposobu na uniknięcie konieczności wywoływania save na każdym ze zmodyfikowanych obiektów. Mam nadzieję, że jest to coś, co Parse rozważy dodanie w przyszłości.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB wstawia się podczas próby wstawienia liczby całkowitej

  2. Widok SQL w mongodb

  3. Flask — złe żądanie Przeglądarka (lub serwer proxy) wysłała żądanie, którego ten serwer nie mógł zrozumieć

  4. pobranie błędu ReplicaSetNoPrimary i MongoServerSelectionError podczas łączenia MongoDB z nodejs

  5. Mongoose usuwanie (wyciąganie) dokumentu w tablicy, nie działa z ObjectID