diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_geo_near.h')
-rw-r--r-- | src/mongo/db/pipeline/document_source_geo_near.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mongo/db/pipeline/document_source_geo_near.h b/src/mongo/db/pipeline/document_source_geo_near.h index d95d59dd402..13f915afd2f 100644 --- a/src/mongo/db/pipeline/document_source_geo_near.h +++ b/src/mongo/db/pipeline/document_source_geo_near.h @@ -35,7 +35,7 @@ namespace mongo { -class DocumentSourceGeoNear : public DocumentSource { +class DocumentSourceGeoNear : public DocumentSource, public NeedsMergerDocumentSource { public: static constexpr StringData kKeyFieldName = "key"_sd; static constexpr auto kStageName = "$geoNear"; @@ -121,9 +121,16 @@ public: BSONObj asNearQuery(StringData nearFieldName) const; /** + * This document source is sent as-is to the shards. + */ + boost::intrusive_ptr<DocumentSource> getShardSource() final { + return this; + } + + /** * In a sharded cluster, this becomes a merge sort by distance, from nearest to furthest. */ - boost::optional<MergingLogic> mergingLogic() final; + MergingLogic mergingLogic() final; private: |