MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Node.js Mongoose .update z ArrayFilters

Nie wiem, czy Mongoose 5.0.0 ma obsługiwać Arrayfilters po wyjęciu z pudełka, ale można to osiągnąć za pomocą metody poleceń Mongoose, która jest bezpośrednio wykonywana na MongoDB, dzięki czemu może korzystać ze wszystkich dostępnych funkcji, w tym ArrayFilters na MongoDB 3.6.1

Przykład:

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
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd:wymagane dane i argumenty soli

  2. Mongodb oszczędza jeden dzień mniej - problem ze strefą czasową

  3. Mongo próbuje automatycznie połączyć się z portem 27017 (localhost)

  4. MongoDB 4.x Synchronizacja w czasie rzeczywistym z ElasticSearch 6.x +

  5. MongoDB $lookup dopasowanie potoku według _id nie działa