Vous pouvez mettre à jour un élément de tableau existant en utilisant un $set
opération qui utilise le $
opérateur positionnel pour identifier l'élément de tableau correspondant dans le sélecteur comme ceci :
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$': {type: "text", size: 7, name: name, label: "First Name2"}}}
);
Cela remplacera le schema
correspondant élément avec celui inclus dans le $set
objet.
Si vous souhaitez uniquement mettre à jour des champs individuels du schema
ciblé élément, vous pouvez utiliser la notation par points. Par exemple, pour ne mettre à jour que la size
et name
champs :
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$.size': 7, 'schema.$.name': name}}
);