【发布时间】:2014-02-03 23:11:00
【问题描述】:
我的目标:我想更新某个路径中集合中的多个文档,条件是路径与正则表达式匹配,然后搜索并替换为路径中的某个值,最后将所有这些文档永久保存在数据库中。
示例:
myCollection : [
{ doc1 : { summary : 'Summary 1 : one', value : 1 },
{ doc2 : { summary : 'Summaryyuist 2 : two', value : 1 },
{ doc3 : { summary : 'hello 3 : three', value : 3 },
];
现在我想将路径中的所有“摘要”替换为“你好”:“摘要”
所以查询后的结果应该是:
myCollection : [
{ doc1 : { summary : 'hello 1 : one', value : 1 },
{ doc2 : { summary : 'helloyuist 2 : two', value : 1 },
{ doc3 : { summary : 'hello 3 : three', value : 3 },
];
我只是在寻找上面要使用的查询。
从这里 http://mongoosejs.com/docs/api.html#query_Query-regex
我没有找到如何实施的信息。特别是 'Number' 参数在正则表达式方法中的作用。?
也来自这里:
http://mongoosejs.com/docs/api.html#query_Query-regex 我也没有找到 monsoose 正则表达式的“显示代码”链接。有人至少可以回复猫鼬正则表达式代码的链接。
我只找到如何查找模型,而不是如何使用与文档特定路径中的正则表达式匹配的值进行替换更新。
如何实现我的目标?
【问题讨论】:
-
regex示例:MyModel.where('summary').reqex(/Sum/).exec(console.log)ORMyModel.regex('summary', /Sum/).exec(console.log)第二个参数是正则表达式(不是数字) -
它写在上面的链接上,第二个参数是数字类型
-
我将在 exec 回调中得到什么参数??
-
回调 = 函数(错误,结果){...}
-
你想说“结果”将是一个数组,我必须循环“结果”。这不是很昂贵,因为它需要执行许多查询。?