MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como atualizar um subdocumento no mongodb


Você precisa usar o operador $ para atualizar um subdocumento em uma matriz

Usando contacts.$ apontará o mongoDB para atualizar o subdocumento relevante.
db.users.update({_id: ObjectId("5500b5b8908520754a8c2420"), 
  "contacts._id": ObjectId("550199c6fe544adf50bc291e")}, 
 {"$set":{"contacts.$":myNewDocument}})

Não sei por que você está alterando o _id do subdocumento. Isso não é aconselhável.

Se você deseja alterar um campo específico do subdocumento, use o contacts.$.<field_name> para atualizar o campo específico do subdocumento.