2015-04-03 117 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

相關問題