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

MongoDB $geoNear тръбопровод за агрегиране (с използване на опция за заявка и използване на $match тръбопроводна операция), даващ различен брой резултати

Малко предположения:-
1. Да приемем, че има 300 записа, които съвпадат въз основа на местоположението.
2. Да приемем, че първият набор от 100 резултата няма етикет пица. Останалите 200 документа (от 101 до 300) имат етикет pizza

Запитване 1:-

  • Има 2 конвейерни операции $geoNear и $match
  • Резултатът от $geoNear тръбопроводна операция е вход за $matchpipeline операция
  • $geoNear намира максимум 100 резултата (посочено от нас ограничение) въз основа на местоположението, сортирано по най-близко до далечно разстояние. (Имайте предвид, че 100-те върнати резултата са изцяло базирани на местоположението. Така че тези 100 резултата не съдържат документ с етикет „пица“)
  • Тези 100 резултата се изпращат до следващата конвейерна операция $match от мястото, където се извършва филтрирането. Но тъй като първият набор от 100 резултата няма етикет pizza, изходът е празен

Запитване 2:-

  • Има само 1 конвейерна операция $geoNear
  • Има поле за заявка, включено в тръбопроводната операция $geoNear$geoNear намира максимум 100 резултата (ограничение, което сме посочили) въз основа на местоположението, сортирано по най-близко до далечно разстояние и querytag=pizza
  • Сега тук резултатите от 101 до 200 се връщат като изход, тъй като заявката е включена в конвейерната операция $geoNear. Толкова просто изречение, което казваме, намери всички документи с местоположение [x,y] withtag=pizza.

P.S :- Етапът $group pipeline се добавя само за получаване на броя и следователно не е писано за него в обяснението



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Съхраняване на файл в mongodb с помощта на node.js

  2. Услугата Mongo се срина. Трябва да се намери причината за срива

  3. Как да контролирате размера на дневниците в mongodb?

  4. Публикувайте чакаща заявка за крайна точка на API в инструмента за разработка

  5. Как да конвертирате низ в BSON?