MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongoose có hỗ trợ phương thức Mongodb `findAndModify` không?

Tính năng này không được ghi chép tốt (đọc:ở tất cả), nhưng sau khi đọc qua mã nguồn, tôi đã đưa ra giải pháp sau.

Tạo giản đồ bộ sưu tập của bạn.

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

Tạo một phương thức tĩnh trên giản đồ sẽ hiển thị phương thức findAndModify của bộ sưu tập của mô hình.

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

Tạo mô hình của bạn.

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

Tìm và sửa đổi!

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

Phần thưởng

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. mongoError:Topo đã bị phá hủy

  2. Bản ghi ngẫu nhiên từ MongoDB

  3. tìm id của subocument mới nhất được chèn vào mongoose

  4. Cách chạy các lệnh mongodb thô từ pymongo

  5. Phiên mùa xuân với MongoDB