-
[MongoDB] mongoose-auto-increment카테고리 없음 2019. 1. 14. 00:25
먼저 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