summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_sample.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_sample.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_sample.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/document_source_sample.cpp b/src/mongo/db/pipeline/document_source_sample.cpp
index 5117e5c516a..c174d95d935 100644
--- a/src/mongo/db/pipeline/document_source_sample.cpp
+++ b/src/mongo/db/pipeline/document_source_sample.cpp
@@ -123,6 +123,11 @@ intrusive_ptr<DocumentSource> DocumentSourceSample::getShardSource() {
intrusive_ptr<DocumentSource> DocumentSourceSample::getMergeSource() {
// Just need to merge the pre-sorted documents by their random values.
- return DocumentSourceSort::create(pExpCtx, randSortSpec, _size);
+ BSONObjBuilder randMergeSortSpec;
+
+ randMergeSortSpec.appendElements(randSortSpec);
+ randMergeSortSpec.append("$mergePresorted", true);
+
+ return DocumentSourceSort::create(pExpCtx, randMergeSortSpec.obj(), _size);
}
} // mongo