summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_single_document_transformation.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_single_document_transformation.h')
-rw-r--r--src/mongo/db/pipeline/document_source_single_document_transformation.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/document_source_single_document_transformation.h b/src/mongo/db/pipeline/document_source_single_document_transformation.h
index 108a13aa161..ee2141a2c8d 100644
--- a/src/mongo/db/pipeline/document_source_single_document_transformation.h
+++ b/src/mongo/db/pipeline/document_source_single_document_transformation.h
@@ -62,11 +62,17 @@ public:
virtual Document applyTransformation(const Document& input) = 0;
virtual TransformerType getType() const = 0;
virtual void optimize() = 0;
- virtual Document serialize(boost::optional<ExplainOptions::Verbosity> explain) const = 0;
virtual DocumentSource::GetDepsReturn addDependencies(DepsTracker* deps) const = 0;
virtual GetModPathsReturn getModifiedPaths() const = 0;
/**
+ * Returns the document describing this stage, not including the stage name. For example,
+ * should return just {_id: 0, x: 1} for the stage parsed from {$project: {_id: 0, x: 1}}.
+ */
+ virtual Document serializeStageOptions(
+ boost::optional<ExplainOptions::Verbosity> explain) const = 0;
+
+ /**
* Returns true if this transformer is an inclusion projection and is a subset of
* 'proj', which must be a valid projection specification. For example, if this
* TransformerInterface represents the inclusion projection