Puoi aggiornare un elemento dell'array esistente usando un $set
operazione che utilizza il $
posizionale per identificare l'elemento dell'array abbinato nel selettore in questo modo:
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$': {type: "text", size: 7, name: name, label: "First Name2"}}}
);
Questo sostituirà lo schema
corrispondente elemento con quello incluso nel $set
oggetto.
Se vuoi aggiornare solo i singoli campi dello schema
di destinazione elemento, puoi usare la notazione del punto. Ad esempio, per aggiornare solo la size
e name
campi:
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$.size': 7, 'schema.$.name': name}}
);