首页 > 解决方案 > MONGO mongodb 脚本替换数组元素中的子字符串

问题描述

{
  field:"value",
  facilityId:"H001",
  alternativeId:["deafaultID#12312-213-1314"],
}

我想从数组中替换所有文档“defaultID”alternativeId并仅在设施ID为“H001”时更改为“NEWID”

标签: mongodbmongodb-query

解决方案


  • 匹配facilityId: "H001"条件
  • $mapalternativeId迭代数组的循环
  • $replaceOne通过替换替换查找字符串
db.collection.update(
  { facilityId: "H001" },
  [{
    $set: {
      alternativeId: {
        $map: {
          input: "$alternativeId",
          in: {
            $replaceOne: {
              input: "$$this",
              find: "deafaultID",
              replacement: "NEWID"
            }
          }
        }
      }
    }
  }],
  { multi: true }
)

操场


推荐阅读