mongodb 正则查找 并 替换 匹配的地方 为指定字符 的语句 怎么写
来源:3-8 【读取文档】动手实战 - 玩转文档游标

香饽饽0
2019-05-16
mongodb 正则查找 并 替换 匹配的地方 为指定字符 的语句 怎么写
写回答
1回答
-
同学你好~MongoDB没有提供直接的update操作符来进行正则表达式替换 所以你需要使用游标来遍历查找得到的文档并且进行替换 举个例子:
db.accounts.find( { "name": { $regex: /al.*ce/ } } ).forEach(function(doc) {
doc.name = doc.name.replace(/al.*ce/g, 'bob');
db.accounts.save(doc);
});
这里我们首先使用$regex操作符来查找所有name字段匹配al.*ce正则表达式的文档 然后使用forEach()函数来遍历find()返回的游标中的所有文档 使用replace()函数将文档中的name字段中匹配al.*ce的文字部分替换成bob 最后把替换过的内容保存下来 这样就达到了使用正则表达式查找替换的目的
012019-05-17
相似问题