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

Struktura agregacji Mongo:jaki jest poziom blokady ostatniej operacji $out?

Zawsze istnieje pewien poziom blokowania, który w zależności od wersji MongoDB może być zbiorem lub starszym poziomem bazy danych, a nawet poziomem dokumentu z silnikiem przechowywania WiredTiger. $out jednak daje zysk przy zapisach, więc poszczególne dokumenty są wyprowadzane z potoku, a nie wszystkie za jednym razem, więc każda aktualizacja jest niepodzielna na dokument.

Nawet polecenie mapReduce ma tę opcję , gdzie można ustawić „nonAtomic” jako warunek, w którym kolekcja wyjściowa mapReduce będzie wykazywać takie samo zachowanie.

Jedna rzecz, o której należy pamiętać przy $out usunie wszystkie dokumenty (nie zastąpi żadnych istniejących indeksów) z kolekcji, ponieważ ten etap jest wykonywany w trybie „zamień”. Tak więc próba odczytu lub zapisu z kolekcji skierowanej za pomocą zestawu „zamień” najprawdopodobniej nie powiedzie się (lub da nieoczekiwane wyniki), gdy operacja agregacji jest w toku.

Inne ograniczenia związane z kolekcjami podzielonymi na fragmenty i kolekcjami ograniczonymi są opisane w dokumentacji.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dlaczego baza danych aplikacji Meteor, która została uruchomiona raz (i nigdy nie została załadowana) zajmuje prawie 3 GB?

  2. Jak przeszukiwać wszystkie poddokumenty

  3. jak uzyskać sesję mongoose w walidatorze schematu mongoose

  4. MongoDB Pełne i częściowe wyszukiwanie tekstu

  5. Przekształć dane MongoDB podczas wyszukiwania