使用mongoose在不同的模型钩子内执行模型操作

时间:2016-08-03 21:29:17

标签: node.js mongodb mongoose

我想在remove的mongoose ModelB挂钩内触发pre.save ModelA次操作。

基本上每当ModelA更新ModelB时,我都需要删除const mongoose = require('mongoose'); const Schema = mongoose.Schema; const ObjectId = Schema.Types.ObjectId; const permissionSetSchema = require('./permission-set'); const PermissionSet = mongoose.model('PermissionSet', permissionSetSchema); const roleSchema = new Schema({ name : { type: String, required: true, unique: true, maxLength: 140 }, description: { type: String, maxLength: 300 }, }); roleSchema.post('update', (next, done) => { PermissionSet.remove({}, err => { if (err) { next(err); } next(); }); }); 集合:

这是我试过的,我没有得到错误,但操作永远不会结束:

<p>

1 个答案:

答案 0 :(得分:1)

第一个arg就是文件。第二个是下一个回调。 应该是:

&#13;
&#13;
roleSchema.post('update', (doc, next) => {
  PermissionSet.remove({}, err => {
    if (err) { next(err); }

    next();
  });
});
&#13;
&#13;
&#13;

http://mongoosejs.com/docs/middleware.html