Details
-
Task
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
None
-
None
-
3
-
ServerDocs2020: Nov3 - Nov 10, ServerDocs2020: Nov10 - Nov 17, ServerDocs2020: Nov17 - Nov 24, ServerDocs2020: Nov24 - Dec1, ServerDocs2020: Dec1 - Dec8
-
true
Description
Description
Downstream Change Summary
We added a new expression, $sampleRate, which lets you select a desired fraction or percentage of documents. (Contrast with $sample, which lets you select a desired number of documents.)
Description of Linked Ticket
This match expression takes a floating point number between 0 and 1 (both inclusive) with 0 matching nothing and 1 matching all. It desugars to {$expr: {$rand: ...}}
Unlike $sample, which is an experession, $sampleRate is a match-expression, which can go inside .find() or {$match: _}.
For example, the pipeline:
{$match: {$sampleRate: 0.25}}
|
Would select on average 1/4 of the input documents. It could desugar to
{$match: {$expr: {$lt: [ {$rand: {}}, 0.25 ]}}}
|
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
Attachments
Issue Links
- documents
-
SERVER-48474 Add $sampleRate match expression
-
- Closed
-