MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Рамка за агрегиране на Mongo:какво е нивото на заключване на операцията $out на последния етап?

Винаги има определено ниво на заключване, което в зависимост от вашата версия на MongoDB е вероятно да бъде събиране или на по-старо ниво на базата данни, или дори евентуално на ниво документ с механизма за съхранение на WiredTiger. $out обаче отстъпва при писане, така че отделни документи се извеждат от конвейера, а не всички наведнъж, така че всяка актуализация е атомарна за документ.

Дори командата mapReduce има тази опция , където можете да зададете „nonAtomic“ като условие, при което изходната колекция на mapReduce ще показва същото поведение.

Единственото нещо, което трябва да знаете с $out ще премахне всички документи (без да замени никакви съществуващи индекси) от колекция, тъй като този етап се изпълнява при използване на режима "замяна". Така че опитът за четене или запис от колекция, насочена с набора "replace", е много вероятно да се провали (или да доведе до неочаквани резултати), докато операцията за агрегиране е в ход.

Другите ограничения, свързани с разделените колекции и ограничените колекции, са отбелязани в документацията.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Има ли начин да се покаже клеймо за време в unix формат на ISODate?

  2. C# MongoDB.Driver GetServer го няма, какво сега?

  3. Полигони на заявка $geowithin $box mongodb не връща нищо

  4. Преоформете масив, който се съхранява в колекция и експортирайте в CSV

  5. По-добро обяснение на примерите за спецификации на bson?