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

MongoDB 2.2 — Aktualizowanie dokumentu zagnieżdżonego w tablicy

Obecnie nie można tego zrobić za pomocą regularnej operacji aktualizacji z powodów, które wymieniłeś.

Jedyne obejście, którego możesz teraz użyć, to dodanie wersjonowania do dokumentu i użycie optymistycznego blokowania poprzez czytanie dokumentu, znajdowanie odpowiednich elementów do zmodyfikowania w swojej aplikacji, zmianę ich wartości, a następnie użycie update który zawiera wersję w odczytywanym dokumencie (tak, że jeśli inny wątek zaktualizuje dokument między zapytaniem a aktualizacją, nie nadpiszesz zmian, ale będziesz musiał ponownie załadować dokument i spróbować ponownie.

Strategia wersjonowania nie musiałaby opierać się na całym dokumencie, możesz wersjonować elementy tablicy pierwszego poziomu, a następnie będziesz mógł zaktualizować tylko podtablicę, którą się interesujesz (poprzez aktualizację za pomocą $set).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak porównać daty z danych Twittera przechowywanych w MongoDB za pośrednictwem PyMongo?

  2. Projektuj, aby filtrować właściwość w drugiej zagnieżdżonej tablicy

  3. Usuń wszystkie pola, które są puste

  4. Zapętlanie wyników z zewnętrznym wywołaniem API i findOneAndUpdate

  5. Gdzie jest baza danych meteor MongoDB?