METEOR - автоматически увеличивать номера заказов

Что мне нужно сделать, так это использовать либо collection-2, либо другой пакет для автоматического создания нового номера заказа, увеличенного с последнего использованного номера заказа.

т. е. Начиная с PO123456, когда я сохраняю этот заказ, в следующий раз, когда я делаю новый заказ на покупку, он автоматически генерирует номер PO123457.

Я искал хороший пример или учебник, но я не могу его найти.


person claytonzaugg    schedule 13.10.2015    source источник
comment
Кто-то порекомендовал мне проверить пакет konecty:mongo-counter, но мне все еще трудно его освоить. Любые учебные пособия, которые могут помочь мне научиться включать синтаксис?   -  person claytonzaugg    schedule 13.10.2015


Ответы (1)


Использование konecty:mongo-counter в сочетании с aldeed:collection2 и aldeed:simple-schema должно быть довольно простым. В определении схемы попробуйте:

POnumber: { type: String, autoValue: function(){
  if ( this.isInsert ){ // restrict to when inserting a document
    var currentNumber = incrementCounter('purchase order'); // this will use mongo-counter

    // WARNING: you can only ever get as rich as 10M POs!!
    var zeroPad = "000000" + currentNumber; // pad with 6 zeros

    zeroPad = zeroPad.substr(zeroPad.length-7); // restrict to 7 places 
    return 'PO' + zeroPad; // prefix with 'PO' 

  } else if ( this.isSet ){
    this.unset(); // prevent attempts to change the number
  }
}
person Michel Floyd    schedule 13.10.2015