在MongoDB集合中搜索和替换

时间:2014-07-07 16:12:10

标签: javascript mongodb database

我有一个mongo集合,其中包含一个名为“url”的字段,存储一个url。 其中一些网址有一个额外的参数困扰我,“id =<>”其中<>可以有任何尺寸 我可以在更新操作中执行此操作,还是需要编写将迭代和替换的脚本?

db.find({{"url": /.&id=.*/ }}).update(???)

2 个答案:

答案 0 :(得分:0)

你最好的选择是探索"多"参数与字段更新参数一起使用,如MongDB网站上的这些位置所述。

http://docs.mongodb.org/manual/reference/operator/update-field/ http://docs.mongodb.org/manual/reference/method/db.collection.update/#multi-parameter

这里提供了一个例子:

http://docs.mongodb.org/manual/reference/method/db.collection.update/#example-update-multi

问题是你无法实现任何类型的捕获组"功能只是摆脱了" id"但是每个文档的参数。虽然详细说明了这种行为(目前处于未解决的状态),但MongoDB的jira帐户上有一张票:

https://jira.mongodb.org/browse/SERVER-9159

答案 1 :(得分:0)

尝试使用此regEx查找文档,然后相应地进行更新。

db.find({
    "url": /id=\<.+\>/
}, function(err, result) {
    //your code
})