diff options
author | Anton Korshunov <anton.korshunov@mongodb.com> | 2019-05-02 23:04:10 +0100 |
---|---|---|
committer | Anton Korshunov <anton.korshunov@mongodb.com> | 2019-05-03 08:51:37 +0100 |
commit | 634bf7b2e754914d4bdd09efe498251e8d7ad71b (patch) | |
tree | 3fdf4e4bbc73027e730a947dc1902c1169be9d48 /src/mongo/db/pipeline/document_source_merge_test.cpp | |
parent | d4281131901438a3ca32ad854685a92cab5473dd (diff) | |
download | mongo-634bf7b2e754914d4bdd09efe498251e8d7ad71b.tar.gz |
SERVER-40430 Add merge support for whenMatched: merge
Diffstat (limited to 'src/mongo/db/pipeline/document_source_merge_test.cpp')
-rw-r--r-- | src/mongo/db/pipeline/document_source_merge_test.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/document_source_merge_test.cpp b/src/mongo/db/pipeline/document_source_merge_test.cpp index bb819de73cb..8970cc33a5b 100644 --- a/src/mongo/db/pipeline/document_source_merge_test.cpp +++ b/src/mongo/db/pipeline/document_source_merge_test.cpp @@ -47,7 +47,7 @@ constexpr StringData kWhenNotMatchedModeFieldName = constexpr StringData kIntoFieldName = DocumentSourceMergeSpec::kTargetNssFieldName; constexpr StringData kOnFieldName = DocumentSourceMergeSpec::kOnFieldName; const StringData kDefaultWhenMatchedMode = - MergeWhenMatchedMode_serializer(MergeWhenMatchedModeEnum::kReplaceWithNew); + MergeWhenMatchedMode_serializer(MergeWhenMatchedModeEnum::kMerge); const StringData kDefaultWhenNotMatchedMode = MergeWhenNotMatchedMode_serializer(MergeWhenNotMatchedModeEnum::kInsert); @@ -602,6 +602,14 @@ TEST_F(DocumentSourceMergeTest, CorrectlyHandlesWhenMatchedAndWhenNotMatchedMode << "merge" << "whenNotMatched" << "insert")); + ASSERT(createMergeStage(spec)); + + spec = BSON("$merge" << BSON("into" + << "target_collection" + << "whenMatched" + << "keepExisting" + << "whenNotMatched" + << "insert")); ASSERT_THROWS_CODE(createMergeStage(spec), DBException, ErrorCodes::BadValue); spec = BSON("$merge" << BSON("into" |