sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatera ett underdokument som finns i en array som finns i ett MongoDB-dokument

Du kan uppdatera ett befintligt arrayelement med en $set operation som använder $ positionsoperator för att identifiera arrayelementet som matchas i väljaren så här:

Documents.update(
  {_id: Session.get("current_document_id"), 'schema.name': "first_name"}, 
  {$set: {'schema.$': {type: "text", size: 7, name: name, label: "First Name2"}}}
);

Detta kommer att ersätta det matchade schema element med det som ingår i $set objekt.

Om du bara vill uppdatera enskilda fält i det riktade schema element kan du använda punktnotation. Till exempel att bara uppdatera size och name fält:

Documents.update(
  {_id: Session.get("current_document_id"), 'schema.name': "first_name"}, 
  {$set: {'schema.$.size': 7, 'schema.$.name': name}}
);


  1. Ta reda på om en fråga använder ett index i MongoDB

  2. MongoDB $sortiment

  3. Hur uppdaterar du flera fält med Update.Set i MongoDB med den officiella c#-drivrutinen?

  4. Hur lagrar man en rad objekt i Redis?