我正在我的数据库中创建一个新文档,在保存之前我想增加一个变量,但是预保存方法不会执行。
提案架构:
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
。
无论我做什么,增量都不会起作用。我究竟做错了什么?
您正在将proposalSchema与counterSchema混合使用