sql >> Databasteknik >  >> NoSQL >> MongoDB

Node.js Mongoose .update med ArrayFilters

Jag vet inte om Mongoose 5.0.0 är tänkt att stödja Arrayfilters ur lådan men du kan uppnå det genom att använda Mongooses kommandometod som körs direkt på MongoDB, och kan därför använda alla tillgängliga funktioner som inkluderar ArrayFilters på MongoDB 3.6.1

Exempel:

mongoose.connection.db.command({
  update: <YourModel>.collection.name,
  updates: [
    {
      q: { 'field1.field2._id': mongoose.Types.ObjectId(<someObjectid>) },
      u: {
        $set: { 'field1.$.field2.$[field].fieldToUpdate': "updated!" },
      },
      arrayFilters: [
        { 'field._id': mongoose.Types.ObjectId(<someObjectid>) },
      ],
    },
  ],
})


  1. Redis hämta alla värden i listan utan iteration och utan popning

  2. Ångra convertToCapped till en samling

  3. varför gör jag ett 2dsphere-index, men när jag frågar visar det s2cursor?

  4. Returnera specifik array från objektsamlingen