sql >> Database >  >> NoSQL >> MongoDB

Node.js Mongoose .update met ArrayFilters

Ik weet niet of Mongoose 5.0.0 standaard Arrayfilters zou moeten ondersteunen, maar je kunt dit bereiken door de opdrachtmethode van Mongoose te gebruiken die rechtstreeks op MongoDB wordt uitgevoerd, en dus alle beschikbare functies kan gebruiken, waaronder ArrayFilters op MongoDB 3.6.1

Voorbeeld:

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. geef resultaten door aan een ander commando in redis

  2. MongoDB $weeklyUpdate #66 (22 april 2022):Hackathons, mongosh en Github

  3. Spring Data MongoDB en allowDiskUse

  4. Documenten groeperen in MongoDB op speciale voorwaarde