ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MongoDB] mongoose-auto-increment
    카테고리 없음 2019. 1. 14. 00:25

    mongoose-auto-increment

    먼저 npm에 mongoose-auto-increment를 설치한다.

    npm install mongoose-auto-increment


    models/ stores.js 파일에 다음과 같이 추가한다.

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    var autoIncrement = require('mongoose-auto-increment');
    // import mongoose-auto-increment
    var connection = mongoose.createConnection("mongodb://localhost/w2");
    // connet할 db

    autoIncrement.initialize(connection);

    var customersSchema = new Schema( {
       store_name:String,
       customer_number: Number,
    people_count: Number,
    token: String,
       waiting_number: Number
    });

    customersSchema.plugin(autoIncrement.plugin, {
     model:'customer',
     field: 'customer_number', // auto-increment할 field
     startAt: 0, // 0에서 부터
     increment: 1 // 1씩 증가
    });

    var Customer = connection.model('customer', customersSchema)
    module.exports = mongoose.model('customer', customersSchema);


    collection의 특정 field가 아닌 _id를 auto-increment하고 싶다면 아래와 같이 정의한다.

    customersSchema.plugin(autoIncrement.plugin, 'customer');


    count의 시작 값을 초기화하고 싶을 때는 다음과 같이 추가한다.

     var Customer = connection.model('customer', customersSchema),
    custom = new Customer();

           custom.save(function(err){
                custom.customer_number === 0;
           custom.nextCount(function(err,count){
                 count === 1;
        custom.resetCount(function(err,nextCount){
                   nextCount === 0;
             });
        });
    });


    실행결과

    customer_number가 1씩 증가함을 확인할 수 있다. 빵긋 :D


    [참고 사이트]

    https://www.npmjs.com/package/mongoose-auto-increment


    댓글

Designed by Tistory.