summaryrefslogtreecommitdiff
path: root/src/mongo/db
diff options
context:
space:
mode:
authorCharlie Swanson <charlie.swanson@mongodb.com>2019-02-06 12:37:43 -0500
committerCharlie Swanson <charlie.swanson@mongodb.com>2019-02-06 18:11:25 -0500
commit346b2980a2122f984bfa4c359468f547776caae6 (patch)
tree7111ce0289ba361566830cc5b6d458084b544f3e /src/mongo/db
parent0875b7870fe0f435337589c2f73ef7011a93f5eb (diff)
downloadmongo-346b2980a2122f984bfa4c359468f547776caae6.tar.gz
SERVER-39394 Traverse $lookup subpipeline for more involved collections
Diffstat (limited to 'src/mongo/db')
-rw-r--r--src/mongo/db/pipeline/document_source_lookup.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/document_source_lookup.h b/src/mongo/db/pipeline/document_source_lookup.h
index 2a2b3338789..fbb5c7c5f4c 100644
--- a/src/mongo/db/pipeline/document_source_lookup.h
+++ b/src/mongo/db/pipeline/document_source_lookup.h
@@ -120,6 +120,11 @@ public:
void addInvolvedCollections(std::vector<NamespaceString>* collections) const final {
collections->push_back(_fromNs);
+ if (_parsedIntrospectionPipeline) {
+ for (auto&& stage : _parsedIntrospectionPipeline->getSources()) {
+ stage->addInvolvedCollections(collections);
+ }
+ }
}
void detachFromOperationContext() final;