Значение приращения для определенного поля - PullRequest
0 голосов
/ 08 ноября 2019

Используя приведенный ниже код, я пытаюсь сгенерировать equip_no для оборудования до его сохранения в базе данных. По сути, мне нужно получить максимальное значение предыдущего записанного типа оборудования (например, eqip_code = 'SUB'), увеличить значение и затем сохранить его в базе данных.

const mongoose = require('mongoose');

const schemaEquip = new mongoose.Schema({
  equip_type: String,
  equip_no: Number,
  description: String
});

// generate equip_no
schemaEquip.pre('save', function(next) {
  //this.equip_no = 1; //Equip.find({equip_type : this.equip_type}).sort({equip_no : -1}).limit(1);


  // const doc = await Equip
  //   .find({equip_type : this.equip_type})
  //   .sort({equip_no : -1})
  //   .limit(1);
  // console.log(doc);
  // this.equip_no = doc.equip_no  + 1; 

  Equip.find({equip_type: this.equip_type}).sort({equip_no: -1}).limit(1), function (err, doc) {
    if (err) {
        console.log(err);
        next(err);
    } else {                
        console.log(doc);
        next();
    }
  };
});

const Equip = mongoose.model('Equip', schemaEquip, 'equip');

module.exports = Equip;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...