let mongoose = require('mongoose'); var CounterSchema = mongoose.Schema({ name: {type: String, required: true}, seq: { type: Number, default: 0 } }); var counter = mongoose.model('counter', CounterSchema); // KifCert Schema let kabelCertSchema = mongoose.Schema({ // Jegyzőkönyv azonosító deviceId:{ type: String, require: true }, // Létrehozás dátuma bornDate:{ type: Date, require: true }, // Létrehozó author:{ type: mongoose.Schema.Types.ObjectId, require: true }, // Jegyzőkönyv neve jkvTitle:{ type: String, require: true }, // Megrendelő megrendelo:{ type: String, require: true }, // Hossz hossz:{ type: Number, require: true }, // Típus tipus:{// type: String, require: true }, // Munka szam munkaszam:{// type: String, require: true }, // Gyartasi szam gyariszam:{// type: String, require: true }, // Névleges feszültség feszultseg:{ type: String, require: true }, // Keresztmetszet keresztmetszet:{ type: String, require: true }, // Védettség nyomvonal:{ type: String, require: true }, }); kabelCertSchema.pre('save', function(next) { var doc = this; var year = new Date().getFullYear().toString().slice(-2); counter.findOneAndUpdate({name: 'kabelcert'}, {$inc: { seq: 1} },{ new: true, upsert: true }, function(error, counter) { if(error) return next(error); const padded = (counter.seq + "").padStart(3, "0"); doc.gyariszam = 'KL/'+padded+'/'+year; next(); }); }); var KabelCert = module.exports = mongoose.model('KabelCert',kabelCertSchema);