У меня большие трудности с чем-то, что, вероятно, является самым основным. У меня есть следующая запись в моей базе данных
{"_id"=>BSON::ObjectId('4ec2429c85aab65f16fa2700'),
"owner"=>4,
"friends"=>{"mappings"=>{"Test"=>34}},
"friendid"=>"309"}
Я пытаюсь вставить другое значение в массив сопоставлений. Что-то вроде «Тестирование» => 10
К сожалению, мне не везет, когда я пробую разные подходы. В настоящее время я пробую ниже, но безуспешно.
BasicDBObject updateQuery = new BasicDBObject();
updateQuery.put("owner", owner);
updateQuery.put("friendid", userid);
BasicDBObject updateCommand = new BasicDBObject();
updateCommand.put("$push", new BasicDBObject("friends.mappings",
new BasicDBObject(clustername, clusterid)));
WriteResult result = collection.update(updateQuery, updateCommand,false,true);
Буду признателен, если кто-нибудь скажет мне, что я делаю неправильно. Я предполагаю, что это действительно очевидно!
P.s Я использую последнюю версию драйвера и последнюю версию MongoDB