sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo actualizar un subdocumento en mongodb

Debe usar el operador $ para actualizar un subdocumento en una matriz

Usando contacts.$ apuntará a mongoDB para actualizar el subdocumento relevante.

db.users.update({_id: ObjectId("5500b5b8908520754a8c2420"), 
  "contacts._id": ObjectId("550199c6fe544adf50bc291e")}, 
 {"$set":{"contacts.$":myNewDocument}})

No estoy seguro de por qué está cambiando el _id del subdocumento. Eso no es recomendable.

Si desea cambiar un campo en particular del subdocumento, use contacts.$.<field_name> para actualizar el campo particular del subdocumento.