sql >> Database teknologi >  >> NoSQL >> MongoDB

Opdater et underdokument indeholdt i et array indeholdt i et MongoDB-dokument

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}}
);


  1. Portering fra SQLite til Redis

  2. Hvordan bruger man MongoDB-aggregering til paginering?

  3. mongodb hvordan man får maksimal værdi fra samlinger

  4. Konfiguration af redis til konsekvent at fjerne ældre data først