如何在 .pre('save,..) 部分中获取猫鼬模态的总记录数?



我有这个代码,我想在shcool_code字段中生成学校代码,例如 SS-000002-S、SW-000003-S、TT-000004-S 等

schoolSchema.pre('save', function (next) {
var school = this;
var sName = school.school_name.trim().replace(/s/g,'').toUpperCase().substring(0,2);
console.log(school.collection.count);
school.school_code = sName+'-'+schoolSchema.count+'-S';
next();
});

请帮忙,谢谢。

在预保存钩子中,如果您想访问模型并使用此中间件获取计数,则这是指文档而不是模型。

schoolSchema.pre('save', function (next) {
mongoose.model('modelName').count({}, (err, c) => {
console.log('count', c);
next();
})
});

模型名称:是用于注册模型的名称。

最新更新