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

问题描述 投票:0回答:1

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

提案架构:

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

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

javascript node.js mongodb mongoose
1个回答
0
投票

您正在将proposalSchema与counterSchema混合使用

© www.soinside.com 2019 - 2024. All rights reserved.