在$

时间:2017-12-24 13:07:47

标签: java mongodb

我在 mongodb

中写了这个命令
db.getCollection('bnaTask').update(
  {"_id":ObjectId("5a2d21823be8c34e903245b7") },
  { $pull: { "status.events": { "event": { $ne: "mybnaCsvUploaderExecuted" }  , "time": { $ne: "2017-12-10T11:58:53.543Z" }   } } },
  { multi: true }
)   

我想知道如何在java中编写它,谢谢。

1 个答案:

答案 0 :(得分:0)

Java中的一切都是对象。您只是构建BSON对象以匹配段中使用的各自JSON对应物。

BasicDBObject query = new BasicDBObject("_id", 73);
BasicDBObject event = new BasicDBObject("event", new BasicDBObject( "$ne", 
    "mybnaCsvUploaderExecuted");
  BasicDBObject time = new BasicDBObject("time", 
    new BasicDBObject( "$ne","2017-12-10T11:58:53.543Z"));
  Map<String,Object> map=new HashMap<String,Object>();  
  map.put("event",event);  
  map.put("time",time); 
  BasicDBObject fields = new BasicDBObject("status.events", map);
  BasicDBObject update = new BasicDBObject("$pull",fields);
  BasicDBObject multiple = new BasicDBObject("multi",true);
  getCollection('bnaTask').update( query, update ,multiple);