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

Actualice un subdocumento contenido en una matriz contenida en un documento MongoDB

Puede actualizar un elemento de matriz existente usando un $set operación que usa el $ operador posicional para identificar el elemento de matriz coincidente en el selector de esta manera:

Documents.update(
  {_id: Session.get("current_document_id"), 'schema.name': "first_name"}, 
  {$set: {'schema.$': {type: "text", size: 7, name: name, label: "First Name2"}}}
);

Esto reemplazará el schema coincidente elemento con el incluido en el $set objeto.

Si solo desea actualizar campos individuales del schema objetivo elemento, puede utilizar la notación de puntos. Por ejemplo, para actualizar solo el size y name campos:

Documents.update(
  {_id: Session.get("current_document_id"), 'schema.name': "first_name"}, 
  {$set: {'schema.$.size': 7, 'schema.$.name': name}}
);