是否有更简单的方法只在一行(在命令行中)更新Mongodb集合?

mur*_*lai 2 command-line mongodb

现在,我在命令行中执行此操作:

var obj = db.mycollect.find({id="231412"});
obj.abc = 'new value';
obj.save();
Run Code Online (Sandbox Code Playgroud)

3行代码..

有更简单的方法吗?

e.g. db.mycollect.find({id=12345}).save({abc:'new value'});
Run Code Online (Sandbox Code Playgroud)

Kar*_*ath 5

db.mycollect.update({id=12345}, {"$set": {abc:'new value'}});
Run Code Online (Sandbox Code Playgroud)

这不仅是一条线,也是原子线.使用您的解决方案,如果有人在您阅读之后更新文档,但在存储之前修改将丢失.