我想一次性更新 MongoDB 单个文档中的多个字段,但只有一个字段被更新了。我有一个名为 user 的集合,其中用户由 customer_user_id 唯一定义。我想要更新某个用户的 birth_year 和 country 字段。
这是我的操作:
这是我的操作:
// 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);
很不幸,只有 country 字段被更新了,更新记录的查询语句如下:
更新查询语句:{"$set": {"country": "奥地利"}}
_id
查询文档,这些文档存在,并尝试推送特定字段的更新,但是没有任何变化发生。 代码:BasicDBObject searchQry = new BasicDBObject("_id", epID); BasicDBObject updateFields = new BasicDBObject(); updateFields.append("isExpired", true); updateFields.append("fetchStatus", FetchStatus.FETCHED.getID()); BasicDBObject setQuery = new BasicDBObject(); setQuery.append("$set", updateFields); UpdateResult updRes = dbC_Episodes.updateOne(searchQry, setQuery);
- Mike