MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :mise à jour du sous-document

Vous devez utiliser l'opérateur de position $

Par exemple :

update({ 
       _id: 7, 
       "comments._id": ObjectId("4da4e7d1590295d4eb81c0c7")
   },{
       $set: {"comments.$.type": abc}
   }, false, true
);

Je ne l'ai pas testé mais j'espère qu'il vous sera utile.

Si vous souhaitez modifier la structure du document, vous devez utiliser

db.collection.update (critères, objNew, upsert, multi )

Argumentation :

criteria - query which selects the record to update;
objNew - updated object or $ operators (e.g., $inc) which manipulate the object
upsert - if this should be an "upsert"; that is, if the record does not exist, nsert it
multi - if all documents matching criteria should be updated

et insérez un nouvel objNew avec une nouvelle structure. cochez ceci pour plus de détails