MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Apakah Mongoose mendukung metode `findAndModify` Mongodb?

Fitur ini tidak didokumentasikan dengan baik (baca:sama sekali), tetapi setelah membaca kode sumber, saya menemukan solusi berikut.

Buat skema koleksi Anda.

var Counters = new Schema({
  _id: String,
  next: Number     
});

Buat metode statis pada skema yang akan mengekspos metode findAndModify dari koleksi model.

Counters.statics.findAndModify = function (query, sort, doc, options, callback) {
  return this.collection.findAndModify(query, sort, doc, options, callback);
};

Buat model Anda.

var Counter = mongoose.model('counters', Counters);

Temukan dan modifikasi!

Counter.findAndModify({ _id: 'messagetransaction' }, [], { $inc: { next: 1 } }, {}, function (err, counter) {
  if (err) throw err;
  console.log('updated, counter is ' + counter.next);
});

Bonus

Counters.statics.increment = function (counter, callback) {
  return this.collection.findAndModify({ _id: counter }, [], { $inc: { next: 1 } }, callback);
};

Counter.increment('messagetransaction', callback);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Garis:Harus memberikan sumber atau pelanggan

  2. Mongoose Mongodb menanyakan array objek

  3. php agregasi mongodb

  4. Terapkan GraphQL API dengan MongoDB Atlas dan Apollo Server di Koyeb

  5. Menyebarkan MongoDB Menggunakan Docker