2012-01-21 7 views

Répondre

11

Vous pouvez faire

var comment = post.comments.id(my_id); 
comment.author = 'Bruce Wayne'; 

post.save(function (err) { 
    // emmbeded comment with author updated  
}); 
+0

Merci! ça marche pour moi. – Erik

+4

Enregistrer ne semble pas se déclencher lorsque je mets à jour des documents incorporés - et le marquer comme modifié ne l'invalide pas non plus. –

12

Il shoud ressembler à quelque chose comme ceci:

YOURSCHEMA.update(
     { _id: "DocumentObjectid" , "ArrayName.id":"ArrayElementId" }, 
     { $set:{ "ArrayName.$.TheParameter":"newValue" } }, 
     { upsert: true }, 
     function(err){ 

     } 
    ); 

Dans ce que je cherche exemple un élément avec un paramètre id, mais il pourrait être le paramètre _id réel de type objectId.

Voir aussi: MongooseJS Doc - Updating Set et Similar SO question

Questions connexes