mongodb - 如何在mongo的字符串数组中应用基于正则表达式的替换?
问题描述
我在这个结构中有一些 MongoDB 文档:
{
"name":"Bob",
"tags":["foo","bar"]
}
{
"name":"John",
"tags":["foo","bar,"]
}
{
"name":"Angela",
"tags":["foo,"]
}
由于数据迁移出错,一些标签在其字符串值中包含逗号,例如foo,
不是foo
我可以使用db.collections.find({tags:/,/})
. 但是我怎样才能更新它们以去掉逗号,所以例如我最终会得到:
{
"name":"John",
"tags":["foo","bar"]
}
解决方案
试试这个:
db.collections.find({tags:/,/}).forEach(function(doc){
doc.tags = doc.tags.map(x => x.replace(/,/g, ""));
db.collections.save(doc);
})
推荐阅读
- java - 如何使用 Java 使 Edge 的会话无效?
- junit - java.lang.AssertionError:JSON 路径期望不同的结果
- python - 如何将 .py 编译为 .dll
- java - 未找到 Maven“资源”文件夹
- javascript - 在验证脚本中的 AppMaker 中设置字段值
- android - 尝试获取现有数据库,Room Android
- android - 使用 Espresso 测试 React Native 应用程序。分步说明
- vba - 如何从链接表中填充列表框?
- cypress - 如何在 Cypress 中等待两个并行 XHR 请求
- php - move_uploaded_file() 无法移动上传的文件