猫鼬 - 预保存增量功能不触发

时间:2017-12-30 11:17:31

标签: javascript node.js mongodb mongoose

我正在我的数据库中创建一个新文档,在保存之前我想增加一个变量但是预存方法不会执行。

提案架构:

const Counter = require('./counter');

proposalSchema.pre('save', function(next) {

  let doc = this;

  Counter.findByIdAndUpdate({_id: 'entityId'},{$inc: { seq: 1}},{"upsert": true,"new": true  }, function(error, counter){

    if(error){
        return next(error);
    }

        doc.proposalNo = counter.seq;
        next();
  });
});

反制模式:

const mongoose = require('mongoose');

const counterSchema = mongoose.Schema({

    _id: {type: String, required: true},
    seq: {type: Number, default: 5000}

});

mongoose.model('Counter', counterSchema);

我得到Internal Server Error 500

无论我做什么,增量都不起作用。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您正在将proposalSchema与counterSchema混合