Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未调用Pre函数(使用它自动递增变量,但它不起作用)_Javascript_Node.js_Mongodb_Mongoose_Mongoose Sequence - Fatal编程技术网

Javascript 未调用Pre函数(使用它自动递增变量,但它不起作用)

Javascript 未调用Pre函数(使用它自动递增变量,但它不起作用),javascript,node.js,mongodb,mongoose,mongoose-sequence,Javascript,Node.js,Mongodb,Mongoose,Mongoose Sequence,这是我的函数前声明 locationSchema.pre('save', function(next) { console.log(" HELLO ") //not printing var doc = this; Counter.findByIdAndUpdate({_id: 'location_id'}, {$inc: {seq: 1} }, {upsert: true , new: true}, function(error, counter) {

这是我的函数前声明

locationSchema.pre('save', function(next) {
 console.log(" HELLO ") //not printing
 var doc = this;
 Counter.findByIdAndUpdate({_id: 'location_id'}, 
 {$inc: {seq: 1} }, 
 {upsert: true , new: true}, function(error, counter)   {
 if(error)
    return next(error);

 doc.locationId = counter.seq;
 next();
 });
});
这是我的locationSchema声明,我正在尝试自动递增locationId

const locationSchema =  mongoose.Schema({

locationId:{
    type:Number,
    unique:true
}
});

const mongoose = require('mongoose')
这是负责递增字段的计数器模式

 const counterSchema =  mongoose.Schema({
_id: {type: String, required: true},
seq: {type: Number, default: 0}
});


const counterModel = mongoose.model('counter', counterSchema)

module.exports={counterSchema,counterModel}
这可能会有帮助:这可能会有帮助: