Java + MongoDB:更新文档中的多个字段

ACEG:

我试图一次更新单个MongoDB文档中的多个字段,但是仅更新了一个字段。我有一个集合用户,其中的用户由customer_user_id唯一定义我想更新某个用户的birth_yearcountry字段。

这就是我在做什么:

// Define the search query:
DBCollection col = md.getDb().getCollection("user");
BasicDBObject searchQuery = new BasicDBObject("customer_user_id", customer_user_id);

// Define the update query:
BasicDBObject updateQuery = new BasicDBObject();
updateQuery.append("$set", new BasicDBObject().append("birth_year", birth_year);
updateQuery.append("$set", new BasicDBObject().append("country", country);

log.info("Update query: " + updateQuery);
col.update(searchQuery, updateQuery);

不幸的是,只有国家/地区字段被更新,并且记录的updateQuery看起来像这样:

更新查询:{“ $ set”:{“ country”:“ Austria”}}

展望:

我无法验证,但也许您应该尝试:

BasicDBObject updateFields = new BasicDBObject();
updateFields.append("birth_year", birth_year);
updateFields.append("country", country);
BasicDBObject setQuery = new BasicDBObject();
setQuery.append("$set", updateFields);
col.update(searchQuery, setQuery);

或者我认为这几乎是相同的:

updateQuery.put("$set", new BasicDBObject("country",country).append("birth_year", birth_year));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java + MongoDB:更新文档数量中的字段

使用 VB.net 和 MONGODB 更新文档中的多个字段(列)

MongoDB $ aggregate $ push Java Spring Data中的多个字段

尝试使用MongoDB Java驱动程序更新文档

MongoDb-如何使用Java对集合中的多个字段进行排序和搜索

要在MongoDB上更新文档中的单个字段,最佳方法是什么?在feathersjs中更新或修补钩子

使用Java更新MongoDB中的文档

更新对象的多个字段-Dynamics CRM 2011,使用Java

Mongodb 更新文档中的一个字段,然后根据前一个字段的值更新另一个

在 mongodb 中更新文档

在 Java 8 中按多个字段聚合多个字段

mongodb:如何更新单个文档的嵌套数组项中的多个字段

根据Java中的多个字段收集ID列表

ID中的多个字段-Webdriver-Java

Java中的Mongo聚合:具有多个字段的组

Java API匹配Elasticsearch中的多个字段

java中具有多个字段的通用属性

如何从MongoDB Java中的多个嵌套文档中读取属性?

如何在Java中从MongoDB检索单个字段

使用MongoDB从单独集合中的文档聚合多个字段

RegExp在MongoDB中为多个字段查找匹配的文档

检查MongoDB文档中是否存在多个字段

如何更新多个 solr 文档中的单个字段值

更新文档并创建一个字段,该字段是集合MongoDB中具有相同ID的所有对象的数组

Elasticsearch:批量更新保存在Java String中的多个文档?

如何在Java中使用ObjectID更新MongoDB中的文档

如何使用Spring Data Java在MongoDB中更新嵌套文档

如何使用Java在MongoDB中执行文档的批量更新

Elasticsearch获取最新文档,按多个字段分组