Я использую MongoDB с официальным драйвером Java (версия 2.6.3). У меня есть коллекция MongoDB, которая содержит списки покупок. Список покупок имеет формат
{ "_id" : { "$oid" : "4e2af1f43f8de96494d5271d"} ,
"name" : "default" ,
"items" : [ { "description" : "Cheese" , "quantity" : 1 , "unit" : "kg"} ,
{ "description" : "Water" , "quantity" : 3 , "unit" : "bottle"} ] }
Теперь я хочу добавить новый элемент в список с помощью метода update()
, равного DBCollection
. Но что бы я ни пытался, это не сработает, хотя и говорит мне
{ "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
, который содержит данные для нового элемента. Я также пытался создать параметры update()
с BasicDBObjectBuilder
и JSON.parse()
, но это не имеет значения.
Я также посмотрел другие посты, попробовал гуглить, но безрезультатно. Что я делаю не так?
Спасибо за любую помощь!
Оливер