Documents.update(
{_id: Session.get("current_document_id")},
{$push: {schema: {type: "text", size: size, name: name, label: label}}}
);
La query sopra è una raccolta Meteor, e le mappe 'Documents.update' a 'db.documents.update' nella documentazione MongoDB (http: // docs .mongodb.org/manuale/applicazioni/aggiornamento /). Con quella query posso aggiungere un documento schema all'interno del documento principale. Documenti secondari sono memorizzati in un array:Aggiornare un documento secondario contenuto in una matrice contenuta in un documento MongoDB
Document:
schema:
array:
{type: "text", size: 6, name: "first_name", label: "First name"},
{type: "text", size: 6, name: "last_name", label: "Last name"}
Voglio modificare il nome e la dimensione attributi dei documenti secondari con questa query:
Documents.update(
{_id: Session.get("current_document_id"), 'schema' : "first_name"},
{$push: {schema: {type: "text", size: 7, name: name, label: "First Name2"}}}
);
Ma questa operazione aggiungere un nuovo oggetto direttamente sotto schema e cancella il array:
Document:
schema:
{type: "text", size: 7, name: "first_name", label: "First Name2"}
Come posso modificare la query per modificare gli attributi evitando questo problema? Dopo l'interrogazione desidero avere questo documento:
Document:
schema:
array:
{type: "text", size: 7, name: "first_name", label: "First name2"},
{type: "text", size: 6, name: "last_name", label: "Last name"}
punti dello schema a un array di oggetti – rtacconi