有没有办法可以通过Java驱动程序修改MongoDb中某个键的值.我尝试了以下内容:
someCollection.update(DBObject query, DBObject update);
someCollection.findAndModify(DBObject query, DBObject update);
Run Code Online (Sandbox Code Playgroud)
但这两个函数都完全用更新的文档替换查询的文档.在mongo shell中使用$ set的情况下,只更新特定键的一个值的方法是什么.(除了创建一个全新的文档,其中复制了所有字段并更新了其中一个字段).
Yek*_*sek 30
BasicDBObject carrier = new BasicDBObject();
BasicDBObject query = new BasicDBObject();
query.put("YOUR_QUERY_STRING", YOUR_QUERY_VALUE);
BasicDBObject set = new BasicDBObject("$set", carrier);
carrier.put("a", 6);
carrier.put("b", "wx1");
myColl.updateMany(query, set);
Run Code Online (Sandbox Code Playgroud)
这应该有用,接受的答案不正确.
And*_*ich 18
我不是java专家,但似乎以下代码符合您的需求:
BasicDBObject set = new BasicDBObject("$set", new BasicDBObject("age", 10));
set.append("$set", new BasicDBObject("name", "Some Name");
someCollection.update(someSearchQuery, set);
Run Code Online (Sandbox Code Playgroud)
另请看这个例子.
| 归档时间: |
|
| 查看次数: |
18940 次 |
| 最近记录: |