我有mongodb文件:
{
"_id" : 1,
"site": "www.a.com"
}
{
"_id" : 1,
"site": "www.b.com"
}
我想将它们修改为:
{
"_id" : 1,
"site": "http://www.a.com"
}
{
"_id" : 1,
"site": "http://www.b.com"
}
我阅读了关于mongodb的文档,但不知道如何添加http://
而不是设置新值。
db.test.update(
{ _id: 1 },
{ $set: { site: ? } },
{ multi: true }
)
答案 0 :(得分:1)
正如@Disposer指出的那样,在具有相同_id
的集合中不可能有多个文档。假设这是一个拼写错误,您可以使用 mongo shell 中的光标函数forEach()
来实现您想要的效果:
db.foo.find().forEach( function(myDoc) {
db.foo.update({"_id": myDoc._id}, {$set: {"site": "http:\\" + myDoc.site}});
})