count-management-module is used to manage counter for specific key passed by the user. It also manage past state of counter for all key through database entry.
- To use this module, It requires 'tbl_uniquekey' table into database.'tbl_uniquekey' table defination is as following.
Field | Type | Key | Default |
---|---|---|---|
UK_key | varchar(30) | NO | PRI |
UK_value | int(11) | YES | - |
- mysql script for table 'tbl_uniquekey'
CREATE TABLE `tbl_uniquekey` (
`UK_key` varchar(30) NOT NULL,
`UK_value` int(11) DEFAULT NULL,
PRIMARY KEY (`UK_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- getUniqueNumber :
- Sample 1
var generateNextCounter = require('count-management-module');
var sendData = {
"id": "UNIQUEKEY",//id: unique key for which it create unique counter
"count": 1,//count: update counter value to plus 1 in 'tbl_uniquekey' table at a time
"dbConfig": sampleConfig
};
generateNextCounter.getUniqueNumber(sendData, {}, function(data) {
var nextCounter=data.content;
});
- sampleConfig : Configuration for database connection. (As given below)
var sampleConfig = {
type: "database",
engine: 'MyISAM',
databaseType: 'mysql',
database: 'database',
host: "hostname",
port: "port",
user: "user",
password: "password",
cacheResponse: false
};
-
In Sample 1 it creates one entry into table 'tbl_uniquekey' with UK_key as 'UNIQUEKEY' and UK_value as 1 and return 1 value as next counter in 'data.content' variable. while calling same method again it update entry into table 'tbl_uniquekey' for UK_key 'UNIQUEKEY' with UK_value as 2 and return next counter value as 2 in 'data.content' variable.
-
Sample 2
var generateNextCounter = require('count-management-module');
var sendData = {
"id": "UNIQUEKEY",//id: unique key for which it create unique counter
"count": 5,//count: update counter value to plus 5 in 'tbl_uniquekey' table at a time
"dbConfig": sampleConfig
};
generateNextCounter.getUniqueNumber(sendData, {}, function(data) {
var counterStart=data.content;
for(i=0;i<5;i++){
console.log("counter value:"+counterStart);
counterStart=counterStart+1;
}
});
-
In Sample 2 we require 5 counters at a same time, it creates one entry into table 'tbl_uniquekey' with UK_key as 'UNIQUEKEY' and UK_value as 5 and return 1 value as next counter in 'data.content' variable. now we can generate all five counter for key 'UNIQUEKEY' with starting value as 1 and go till 5 using loop.
-
while calling same method again it update entry into table 'tbl_uniquekey' for UK_key 'UNIQUEKEY' with UK_value as 10 and return next counter value as 6 in 'data.content' variable.now we can generate all five counter for key 'UNIQUEKEY' with starting value as 6 and go till 10 using loop.