diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_sample.cpp')
-rw-r--r-- | src/mongo/db/pipeline/document_source_sample.cpp | 7 |
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 |