J'essaie de mettre à jour un hachage imbriqué dans un document MongDB. Je connais la fonction $push
pour les tableaux, et $set
pour les éléments complètement écrasés, mais je n'arrive pas à obtenir le comportement que je recherche.Mise à jour d'un document imbriqué dans MongoDB
Voici ce que je suis en train de faire:
Avant:
{
'id' => 1234,
'evaluators' => {
'A' => { 'x' => 2, 'y' => 4 },
}
}
attendu, après:
{
'id' => 1234,
'evaluators' => {
'A' => { 'x' => 2, 'y' => 4 },
'B' => { 'x' => 3, 'y' => 5 },
}
}
J'ai essayé de le faire (en Ruby) :
coll.update({ :id => id },
{ '$set' => {
'evaluators' => {
evaluator_name => { 'adequacy' => adequacy,
'fluency' => fluency }
}
} })
Mais il écrase le contenu de mon evaluators
hachage et je finis avec:
{
'id' => 1234,
'evaluators' => {
'B' => { 'x' => 3, 'y' => 5 },
}
}
que je pouvais faire une requête pour charger le document entier en Ruby, modifier les données et réinsérez à la DB mais je me demandais s'il y avait une meilleure façon dont je ne sais pas.
ont parfaitement fonctionné, merci! –