Можете да актуализирате съществуващ елемент от масива, като използвате $set
операция, която използва $
позиционен оператор за идентифициране на елемента на масива, съвпадащ в селектора, както следва:
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$': {type: "text", size: 7, name: name, label: "First Name2"}}}
);
Това ще замени съответстващата schema
елемент с този, включен в $set
обект.
Ако искате да актуализирате само отделни полета на целевата schema
елемент, можете да използвате нотация с точки. Например, за да актуализирате само size
и name
полета:
Documents.update(
{_id: Session.get("current_document_id"), 'schema.name': "first_name"},
{$set: {'schema.$.size': 7, 'schema.$.name': name}}
);