【发布时间】:2016-11-18 14:43:59
【问题描述】:
我无法使用 java 使用 mongo db upsert 更新现有记录。 我编写了一个查询来使用 id 查找记录,但是在尝试更新其抛出的 com.mongodb.MongoException$DuplicateKey 异常时。
样本数据:
{"_id" : ObjectId("5788bef4191fda5c9077af78"),
"type" : "PRIVATE",
"users" : [
{
"_id" : "800",
"Name" : "Jack"
},
{
"_id" : "530a7998-ba3f-4366-8d21-bb1ca688cfdb",
"Name" : "Ashley"
}
]}
Java 查询
Query query = new Query();
query.addCriteria(Criteria.where("_id").is("5788bef4191fda5c9077af78"));
Update args = new Update();
args.addToSet("users", users);// users is a List<User>users.
args.addToSet("type", "GROUP");
mongoOps.upsert(query, args, Rooms.class, ROOMS);//mongoOps is MongoOperations
【问题讨论】:
标签: java mongodb mongodb-query