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