我正在使用MongoDB和官方Java驅動程序(版本2.6.3)。我有一個包含購物清單的MongoDB集合。購物清單的格式使用Java驅動程序更新MongoDB中的陣列
{ "_id" : { "$oid" : "4e2af1f43f8de96494d5271d"} ,
"name" : "default" ,
"items" : [ { "description" : "Cheese" , "quantity" : 1 , "unit" : "kg"} ,
{ "description" : "Water" , "quantity" : 3 , "unit" : "bottle"} ] }
現在我想一個新的項目添加到列表中與DBCollection
的update()
方法。但無論我嘗試雖然它在告訴我
{ "updatedExisting" : true , "n" : 1 , "connectionId" : 63 , "err" : null , "ok" : 1.0}
我的代碼執行以下操作將無法正常工作:
BasicDBObject updateQuery = new BasicDBObject();
updateQuery.put("name", "default");
BasicDBObject updateCommand = new BasicDBObject();
updateCommand.put("$push", new BasicDBObject("items", newShoppingItem));
WriteResult result = shoppingLists.update(updateQuery, updateCommand, true, true);
newShoppingItem
是BasicDBObject
其中包含了新項目的數據。我還嘗試使用BasicDBObjectBuilder
和JSON.parse()
創建update()
參數,但它沒有區別。
我也看過其他帖子,嘗試谷歌,但無濟於事。我究竟做錯了什麼?
感謝您的幫助!
Oliver
我用MongoDB 2.5.3驅動運行了精確的代碼,它工作正常。確保你正在尋找正確的數據庫。 –
這對我來說很有用,它可以更好地理解Mongo的Java驅動程序中有些模糊的語法。謝謝! – jsh