Die obige Abfrage ist eine Meteor-Sammlung, und "Documents.update" wird in der MongoDB-Dokumentation (http://docs.mongodb.org/manual/applications/update/) der Datei "db.documents.update" zugeordnet. Mit dieser Abfrage kann ich ein Schemadokument innerhalb des Hauptdokuments hinzufügen. Filialdokumente werden in einem Array gespeichert:
%Vor%Ich möchte die Attribute name und size der Filialdokumente mit dieser Abfrage ändern:
%Vor%Aber diese Operation hängt ein neues Objekt direkt unter dem Schema an und löscht das Array:
%Vor%Wie kann ich die Abfrage ändern, um die Attribute zu ändern, um dieses Problem zu vermeiden? Nach der Abfrage möchte ich dieses Dokument haben:
%Vor% Sie können ein vorhandenes Array-Element mit einer Operation $set
aktualisieren, die $
positional-Operator, um das im Selektor gefundene Array-Element wie folgt zu identifizieren:
Dies ersetzt das übereinstimmende Element schema
mit dem Element $set
.
Wenn Sie nur einzelne Felder des Zielelements schema
aktualisieren möchten, können Sie die Punktnotation verwenden. Um beispielsweise nur die Felder size
und name
zu aktualisieren: