node package manager


mongoose-autoincr - autoincrement support for Mongoose

This is a plugin for Mongoose to have an extra autoincr_id number attribute that autoincrements. This plugin is created to support Sphinx.

This plugin will also create an extra table counters or named by you to keep track of the counters across all tables.


npm install mongoose-autoincr

Using the plugin

First, you have to make sure that you initialize the plugin first. var mongoose = require("mongoose"); , mongooseIncr = require("mongoose-incr");

var db = mongoose.createConnection("mongodb://localhost/test");
mongooseIncr.loadAutoIncr(db); // Pass the Mongoose Connection

Now, when you define your schema, make sure you include the plugin:

var UserSchema = new Schema({
    username: String

UserSchema.plugin(mongooseIncr.plugin, {modelName: 'User'});

Public Methods

loadAutoIncr({counterName: name}): counterName is optional, default as counters, this is the table name that is created to store counters for different tables.

plugin({modelName: name}): modelName is required, this is used to store in the field of the counters table. Make sure that it is unique.


To run tests: ./node_modules/expresso/bin/expresso tests/*.test.js


MIT License


Teng Siong Ong