-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:
-
Environment:All
Our documentation for views says only
Views are computed on demand during read operations, and MongoDB executes read operations on views as part of the underlying aggregation pipeline.
(in a section titled View Creation).
While that is all correct, more detail is needed. I suggest something like:
What happens when you run a query against a view is:
- the query filter, projection, sort, skip, limit etc parts of the find command are converted to their equivalent aggregation stages.
- those stages are added to the end of the aggregation pipeline in the view definition.
- Aggregation Pipeline Optimization then reorders and/or coalesces stages where doing so will give a performance benefit while not changing the results.
(and it would probably be appropriate under the heading for Behaviour on the same page.