【问题标题】:MONGO mongodb script to replace a substring from a array elementMONGO mongodb 脚本替换数组元素中的子字符串
【发布时间】:2021-06-07 07:58:34
【问题描述】:
{
  field:"value",
  facilityId:"H001",
  alternativeId:["deafaultID#12312-213-1314"],
}

我想替换 alternativeId 数组中的所有文档“defaultID”,并且仅当 facilityId 为“H001”时才更改为“NEWID”

【问题讨论】:

  • 您可以使用$replaceOne$map 运算符。
  • 如何..你能给我一个例子

标签: mongodb mongodb-query


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

Playground

【讨论】:

  • 我编辑了我的 qstn 。实际上我想检查设施ID作为条件或过滤器。只替换指定设施ID的alternativID
  • 好的,你想在数据库中更新还是只需要格式化结果?
  • @Alfjoy 你检查过更新的答案吗?
猜你喜欢
  • 1970-01-01
  • 2011-04-13
  • 2017-05-14
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多