2015-04-03 119 views
1

我的mongoDB文档如下。如何使用MongoDB Java驱动程序在MongoDB中追加/更新冲突的子文档?

{ 
    "_id": { 
    "$oid": "551e34ddbb4fd7cc3a0849d0" 
    }, 
    "192_168_100_12": [ 
    { 
     "User_Login1": [ 
     { 
      "time": { 
      "$date": -23224339068000 
      }, 
      "message": "leneghadik" 
     } 
     ] 
    }, 
    { 
     "User_Login": [ 
     { 
      "time": { 
      "$date": -23224339068000 
      }, 
      "message": "leneghadik" 
     } 
     ] 
    }, 
    { 
     "User_Login": [ 
     { 
      "time": { 
      "$date": -23224339068000 
      }, 
      "message": "my ja" 
     } 
     ] 
    }, 
    { 
     "User_Login1": { 
     "time": { 
      "$date": -23224339068000 
     }, 
     "message": "my ja" 
     } 
    } 
    ] 
} 

我想使用java将新对象添加到"User_Login1"。我怎么能做到这一点? 我尝试了很多方法,但它没有工作,我最终将数据追加到"192_168_100_12"

我的追加代码如下。

BasicDBObject event = new BasicDBObject("time", curDate).append("message", "my ja"); 
node_info.update(new BasicDBObject(), new BasicDBObject("$push", new BasicDBObject("192_168_100_12", new BasicDBObject("User_Login1", event)))); 

请帮帮我。

回答

0
BasicDBObject event = new BasicDBObject("time", curDate).append("message", "my ja"); 
BasicDBObject data = new BasicDBObject("$push", 
           new BasicDBObject("192_168_100_12$User_Login1", event)); 
collection.update(new BasicDBObject(), data); 

这可能会做你的工作。

+0

没有。不工作。创建名称为192_168_100_12 $ User_Login1的新文档 – 2015-04-03 09:30:47

相关问题