sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatera arrayelement i mongo

När mongodb frågar ett arrayfält tillhandahåller det en positionsoperator $ som du kan använda för att komma åt ett specifikt element i den arrayen. Du kan använda en elemMatch-operator för att söka i fälten inom en rad objekt.

Exempel:

db.myCollection.find({
   _id: ObjectId("53b1a44350f148976b0b6044"),
   myArray: {
      $elemMatch: {key1: 'somevalue'}
   }
}, {
   $set:{
      'myArray.$.key2': 'someOtherValue'
   }
});

Se:http://docs.mongodb.org/manual/reference/ operator/update/positional/




  1. Nyckel får inte innehålla . fel i pymongo

  2. MongoDB sammanlagda pipeline långsam efter första matchsteget

  3. Vad är skillnaden mellan id och _id i mongoose?

  4. Uppdatera ett MongoDB-underdokument när det överordnade dokumentet kanske inte finns