有没有一种方法可以通过其 Java 驱动程序修改 MongoDb 中某个键的值。我尝试了以下方法:
someCollection.update(DBObject query, DBObject update);
someCollection.findAndModify(DBObject query, DBObject update);
但是这两个函数都用更新的文档完全替换了查询的文档。像在 mongo shell 中使用 $set 一样,仅更新特定键的一个值的方法是什么。(除了制作一个全新的 Document 并复制所有字段并更新其中一个字段)。
最佳答案
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);
这应该可以,被接受的答案不在上面。
关于java - MongoDb 在其 java 驱动程序中的 $set 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4943434/