我有一个mongo集合,其中包含一个名为“url”的字段,存储一个url。 其中一些网址有一个额外的参数困扰我,“id =<>”其中<>可以有任何尺寸 我可以在更新操作中执行此操作,还是需要编写将迭代和替换的脚本?
db.find({{"url": /.&id=.*/ }}).update(???)
答案 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帐户上有一张票:
答案 1 :(得分:0)
尝试使用此regEx查找文档,然后相应地进行更新。
db.find({
"url": /id=\<.+\>/
}, function(err, result) {
//your code
})