diff options
Diffstat (limited to 'src/mongo/db/pipeline/mongo_process_interface.h')
-rw-r--r-- | src/mongo/db/pipeline/mongo_process_interface.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/mongo_process_interface.h b/src/mongo/db/pipeline/mongo_process_interface.h index be897699a6f..c3009543e0f 100644 --- a/src/mongo/db/pipeline/mongo_process_interface.h +++ b/src/mongo/db/pipeline/mongo_process_interface.h @@ -85,6 +85,12 @@ public: std::tuple<BSONObj, write_ops::UpdateModification, boost::optional<BSONObj>>; using BatchedObjects = std::vector<BatchObject>; + enum class UpsertType { + kNone, // This operation is not an upsert. + kGenerateNewDoc, // If no documents match, generate a new document using the update spec. + kInsertSuppliedDoc // If no documents match, insert the document supplied in 'c.new' as-is. + }; + enum class CurrentOpConnectionsMode { kIncludeIdle, kExcludeIdle }; enum class CurrentOpUserMode { kIncludeAll, kExcludeOthers }; enum class CurrentOpTruncateMode { kNoTruncation, kTruncateOps }; @@ -167,7 +173,7 @@ public: const NamespaceString& ns, BatchedObjects&& batch, const WriteConcernOptions& wc, - bool upsert, + UpsertType upsert, bool multi, boost::optional<OID> targetEpoch) = 0; |