猫鼬模型自定义事件

时间:2014-01-28 13:25:49

标签: node.js events javascript-events event-handling mongoose

我正在寻找将事件附加到我的猫鼬模型/架构的正确方法。我的示例模型:

currency.js

var mongoose = require('mongoose');
var currencySchema = new mongoose.Schema({
    _id: {
    type: String,
    required: true,
    unique: true
  },
  name: {
    type: String,
    trim: true
  }
});

var Currency = mongoose.model('Currency', currencySchema);
module.exports = Currency;

如何正确附加EventEmmiter以便我可以发出事件并正确捕获它?

Currency.findOne({'name': name}, function (err, currency) {
    currency.emit("up","Event sent");
    callback(err, wallet);
});

1 个答案:

答案 0 :(得分:0)

你不能。

EventEmitter需要包含除MongoDB BSON中无法存储的函数和其他类型的数据。允许的类型如下:

  1. MinKey(内部类型)
  2. 数字(整数,长数,双数)
  3. 符号,字符串
  4. 对象
  5. 阵列
  6. BinData
  7. 的ObjectID
  8. 布尔
  9. 日期,时间戳
  10. 正则表达式
  11. MaxKey(内部类型)
  12. MongoDB文档中的更多信息:BSON types