summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_bson_array.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_bson_array.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_bson_array.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/mongo/db/pipeline/document_source_bson_array.cpp b/src/mongo/db/pipeline/document_source_bson_array.cpp
index cb5139a8b49..47c14f22570 100644
--- a/src/mongo/db/pipeline/document_source_bson_array.cpp
+++ b/src/mongo/db/pipeline/document_source_bson_array.cpp
@@ -49,22 +49,18 @@ namespace mongo {
}
DocumentSourceBsonArray::DocumentSourceBsonArray(
- BSONElement *pBsonElement,
+ const BSONObj& array,
const intrusive_ptr<ExpressionContext> &pExpCtx)
: DocumentSource(pExpCtx)
- , embeddedObject(pBsonElement->embeddedObject())
+ , embeddedObject(array)
, arrayIterator(embeddedObject)
{}
intrusive_ptr<DocumentSourceBsonArray> DocumentSourceBsonArray::create(
- BSONElement *pBsonElement,
- const intrusive_ptr<ExpressionContext> &pExpCtx) {
+ const BSONObj& array,
+ const intrusive_ptr<ExpressionContext> &pExpCtx) {
- verify(pBsonElement->type() == Array);
- intrusive_ptr<DocumentSourceBsonArray> pSource(
- new DocumentSourceBsonArray(pBsonElement, pExpCtx));
-
- return pSource;
+ return new DocumentSourceBsonArray(array, pExpCtx);
}
Value DocumentSourceBsonArray::serialize(bool explain) const {