J'ai de grandes difficultés avec quelque chose qui est probablement le plus basique. J'ai l'entrée suivante dans ma base de donnéesMise à jour de tableau à l'intérieur d'un tableau en utilisant mongodb
{"_id"=>BSON::ObjectId('4ec2429c85aab65f16fa2700'),
"owner"=>4,
"friends"=>{"mappings"=>{"Test"=>34}},
"friendid"=>"309"}
J'essaie d'insérer une autre valeur dans le tableau de mappages. Quelque chose comme "Testing" => 10
Malheureusement, je n'ai pas de chance quoi que ce soit en essayant une variété d'approches différentes. Actuellement, j'essaie le ci-dessous sans succès.
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);
J'apprécierais que quelqu'un puisse me dire ce que je fais mal. Je suppose que c'est quelque chose de vraiment évident!
P.s J'utilise le dernier pilote et le dernier MongoDB