Mise à jour d'un Tableau Imbriqué avec MongoDB

Je suis en train de mettre à jour une valeur dans le tableau imbriqué, mais ne peut pas le faire fonctionner.

Mon objet, c'est comme cela

 {
    "_id": {
        "$oid": "1"
    },
    "array1": [
        {
            "_id": "12",
            "array2": [
                  {
                      "_id": "123",
                      "answeredBy": [],
                  },
                  {
                      "_id": "124",
                      "answeredBy": [],
                  }
             ],
         }
     ]
 }

J'ai besoin de pousser un valeur "answeredBy" array.

Dans l'exemple ci-dessous, j'ai essayé de pousser le "succès" de la chaîne de la "answeredBy" tableau de la "123 _id" objet, mais il ne fonctionne pas.

callback = function(err,value){
     if(err){
         res.send(err);
     }else{
         res.send(value);
     }
};
conditions = {
    "_id": 1,
    "array1._id": 12,
    "array2._id": 123
  };
updates = {
   $push: {
     "array2.$.answeredBy": "success"
   }
};
options = {
  upsert: true
};
Model.update(conditions, updates, options, callback);

J'ai trouvé ce lien, mais sa réponse ne dit que je devrais utiliser l'objet comme la structure au lieu de la matrice. Ce ne peut pas être appliqué dans ma situation. J'ai vraiment besoin de mon objet imbriqué dans des tableaux

Ce serait formidable si vous pouvez m'aider ici. J'ai passé des heures à le comprendre.

Vous en remercie d'avance!

OriginalL'auteur masanorinyo | 2014-05-10