summaryrefslogtreecommitdiff
path: root/src/mongo/db/update/update_driver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/update/update_driver.cpp')
-rw-r--r--src/mongo/db/update/update_driver.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mongo/db/update/update_driver.cpp b/src/mongo/db/update/update_driver.cpp
index e0cf8dafb4c..91b625ee3ef 100644
--- a/src/mongo/db/update/update_driver.cpp
+++ b/src/mongo/db/update/update_driver.cpp
@@ -312,7 +312,10 @@ void UpdateDriver::setCollator(const CollatorInterface* collator) {
bool UpdateDriver::isDocReplacement(const write_ops::UpdateModification& updateMod) {
return (updateMod.type() == write_ops::UpdateModification::Type::kClassic &&
- *updateMod.getUpdateClassic().firstElementFieldName() != '$') ||
+ (modifiertable::getType(
+ updateMod.getUpdateClassic().firstElementFieldNameStringData()) ==
+ modifiertable::MOD_UNKNOWN &&
+ updateMod.getUpdateClassic().firstElementFieldNameStringData() != "$v"_sd)) ||
updateMod.type() == write_ops::UpdateModification::Type::kPipeline;
}