如何在猫鼬中搜索和替换?

2024-01-02

我的目标:我想更新某个路径中集合中的多个文档,条件是路径与正则表达式匹配,然后搜索并替换为路径中的某个值,最后将所有这些文档持久保存在数据库中。

example:

myCollection : [
{ doc1 : { summary : 'Summary 1 : one', value : 1 },
{ doc2 : { summary : 'Summaryyuist 2 : two', value : 1 },
{ doc3 : { summary : 'hello 3 : three', value : 3 },
];

现在我想将路径:'summary'中的所有'Summary'替换为'hello'

所以查询后的结果应该是:

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 http://mongoosejs.com/docs/api.html#query_Query-regex

我没有找到如何实施的信息。特别是“Number”参数在正则表达式方法中的作用。

也来自这里:

http://mongoosejs.com/docs/api.html#query_Query-regex http://mongoosejs.com/docs/api.html#query_Query-regex另外,我没有找到 monsoose 正则表达式的“显示代码”链接。有人至少可以回复猫鼬正则表达式代码的链接吗?

我只找到如何查找模型,而不是如何使用与文档特定路径中的正则表达式匹配的值进行替换更新。

如何实现我的目标?


我希望你可以使用 mongoose Model.Update 选项。

Model.update = function (query, doc, options, callback) { ... }

例子 :

MyModel.update({ age: { $gt: 18 } }, { oldEnough: true }, fn);
MyModel.update({ name: 'Tobi' }, { ferret: true }, { multi: true }, function(err,numberAffected,   raw) {
 if (err) return handleError(err);
 console.log('The number of updated documents was %d', numberAffected);
 console.log('The raw response from Mongo was ', raw);
 });

http://mongoosejs.com/docs/api.html#model_Model.update http://mongoosejs.com/docs/api.html#model_Model.update

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在猫鼬中搜索和替换? 的相关文章

随机推荐