Få antagelser:-
1. Antag, at der er 300 poster, der matcher baseret på placeringen.
2. Antag, at det første sæt af 100 resultater ikke har tagpizza. De resterende 200 dokumenter (101 til 300) har tagpizza
Forespørgsel 1:-
- Der er 2 pipeline-operationer $geoNear og $match
- Outputtet fra $geoNear pipeline operation er input til $matchpipeline operation
- $geoNear finder maks. 100 resultater (grænse vi har angivet) baseret på placeringen sorteret efter nærmeste til langt afstand. (Bemærk her, at de returnerede 100 resultater udelukkende er baseret på placeringen. Så disse 100 resultater indeholder ikke noget dokument med tagget "pizza")
- Disse 100 resultater sendes til den næste pipeline operation $match, hvorfra filtreringen finder sted. Men da det første sæt af 100 resultater ikke havde tagpizza, er outputtet tomt
Forespørgsel 2:-
- Der er kun 1 pipeline-operation $geoNear
- Der er et forespørgselsfelt inkluderet i $geoNear pipeline operationen$geoNear finder maks. 100 resultater (grænse vi har angivet) baseret på placeringen sorteret efter nærmeste til fjern afstand og querytag=pizza
- Nu her returneres resultaterne fra 101 til 200 som output, da forespørgslen er inkluderet i pipeline-operationen $geoNear. Så simpel sætning siger vi, find alle dokumenter med placering [x,y] withtag=pizza.
PS:- $group pipeline-stadiet tilføjes kun for at få optællingen og har derfor ikke skrevet om det i forklaringen