使用db.update更新所有文档

时间:2014-10-09 03:58:03

标签: mongodb

我想使用mongo shell来更新一些看起来像这样的文档:

{ "_id" : ObjectId("54265f801681140a66ca45de"), "username" : "000000002-xqsh", "name" : "xxxxx", "__v" : 0 }

我想在-字段中将短划线_更改为下划线username。我可以用mongo shell制作吗? 我的mongo shell版本如下:

> version()
2.6.4

1 个答案:

答案 0 :(得分:0)

db.c.find({username : /-/}, {username : 1}).forEach(function(e) {
    var username = e.username.replace("-", "_");
    db.c.update({_id : e._id}, {$set : {username : username}});
});

如果你想更换所有" - "在用户名中,使用

db.c.find({username : /-/}, {username : 1}).forEach(function(e) {
    var username = e.username.replace(/-/g, "_");
    db.c.update({_id : e._id}, {$set : {username : username}});
});