相关疑难解决方法(0)

findAndModify失败并显示错误:"无法同时更新'field1'和'field1'

我正在尝试构建MongoDB Java findAndModify查询.

主要目的是我想在自己的插入查询中设置_id.

这是我的代码:

BasicDBObject findFilter = new BasicDBObject("type", "group")
//
BasicDBObject dialogInsertObject = new BasicDBObject("name", "my group").append("_id", new ObjectId());
//
BasicDBObject dialogUpdateObject = new BasicDBObject("name", "my group");
//
BasicDBObject upsertMap = new BasicDBObject();
upsertMap.append("$setOnInsert", dialogInsertObject);
upsertMap.append("$set", dialogUpdateObject);


DBObject dialogObject = dialogCollection.findAndModify(findFilter, 
   new BasicDBObject("_id", "1"), null, false, upsertMap, true, true);
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

com.mongodb.CommandFailureException: { "serverUsed" : "localhost:27017" , 
  "errmsg" : "exception: Cannot update 'name' and 'name' at the same time" , 
  "code" : 16836 , "ok" : 0.0} …
Run Code Online (Sandbox Code Playgroud)

java mongodb mongodb-java mongodb-query

5
推荐指数
1
解决办法
6064
查看次数

标签 统计

java ×1

mongodb ×1

mongodb-java ×1

mongodb-query ×1