Du kan opdatere et eksisterende array-element ved hjælp af en $set
operation, der bruger $
positionsoperator for at identificere det array-element, der matches i vælgeren på denne måde:
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$': {type: "text", size: 7, name: name, label: "First Name2"}}}
);
Dette vil erstatte det matchede schema
element med det, der er inkluderet i $set
objekt.
Hvis du kun ønsker at opdatere individuelle felter i det målrettede schema
element, kan du bruge punktnotation. For eksempel kun at opdatere size
og name
felter:
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$.size': 7, 'schema.$.name': name}}
);