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}}
);