2014-10-09 30 views
0

我想用蒙戈外壳更新一些文件看起来像这样的文件:使用db.update更新所有

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

我想改变破折号-强调在username申请_。我可以通过mongo shell吗? 我蒙戈外壳版本如下:

> version() 
2.6.4 

回答

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}}); 
}); 
+0

它的工作原理。我用它。 – lutaoact 2014-10-10 02:05:57