Я использую mongodb + Java.Я попытался вставить новый документ в существующий документ.Допустим, у меня есть коллекция "Users":
{"_id" :{"$oid" : "4dc9..."}, "name" :"Klaus", "gender" :"unknown", "adress" :"null"}
Теперь я хотел бы обновить этот документ, где имя == Klaus, и добавить новый документ к ключу adress
(где только сейчас "null«).Поэтому я хотел бы иметь что-то вроде этого:
{"_id" :{"$oid" : "4dc9..."}, "name" :"Klaus", "gender" :"unknown", "adress" :{"country" :"Austria", "city": "..."}}
Как это сделать на Java?Я пытался
//DBCollection col "Users"
String json = "{'country': '" + user.country + "', 'city': '" + user.city + "'}";
DBObject dbObject = (DBObject)JSON.parse(json);
col.update(new BasicDBObject().append("name", "Klaus"), dbObject); //not working
Я не получаю сообщение об ошибке, нового документа просто нет.Что-то не так с моим JSON?Или мне нужна другая функция "обновления", может быть, замена (заменить adress:null
на adress:new document
)?Спасибо за любую помощь!