javascript mongoose更新,新的,删除事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript mongoose更新,新的,删除事件相关的知识,希望对你有一定的参考价值。

var mongoose = require('mongoose');
mongoose.connect('localhost', 'testing_emitUpdate');

var Schema = mongoose.Schema;
var schema = new Schema({
    name: String
});

// plumbing
schema.pre('save', function (next) {
  this._wasnew = this.isNew;
  next();
});
schema.post('save', function () {
  if (this._wasnew) this.emit('new')
  else this.emit('update');
});

// listeners
schema.post('new', function () {
   console.error('this was new');
});
schema.post('update', function () {
  console.error('this was an update');
});
schema.post('remove', function () {
  console.error('this was removed');
});

// test
var A = mongoose.model('A', schema);

mongoose.connection.on('open', function () {
  var a = new A({ name: 'emitUpdate' });
  a.save(function (err, a) {
    if (err) return console.error(err.stack||err);

    A.findById(a, function (err, doc) {
      if (err) console.error(err.stack||err);

      doc.name = 'aasdf';
      doc.save(function (err) {
        doc.remove(function () {
          mongoose.connection.db.dropDatabase(function () {
            mongoose.connection.close();
          });
        });
      });

    });
  })
});

以上是关于javascript mongoose更新,新的,删除事件的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose:添加新的 Schema 属性并更新所有当前文档

使用 javascript 数组方法更新 mongoose 中的嵌套数组

如何在 JavaScript 中使用 Mongoose 动态更新文档?

javascript 在Mongoose中更新和删除数组元素

使用 Mongoose 返回更新的集合

MongoDB:如何使用 Mongoose 添加或更新子文档?