diff options
Diffstat (limited to 'src/mongo/db/update/update_driver.cpp')
-rw-r--r-- | src/mongo/db/update/update_driver.cpp | 5 |
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; } |