node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



Migrations for MongoDB

build status npm version mit license we're hiring

node-migrate-mongo enables data migrations in your existing project. The state of your migrations is stored in the database specified in the mongo property of your By default, this collection is called migration_versions. See the Usage section (and let's be honest: the code) for more information.

Despite the name, this module does not borrow from TJ's node-migrate, though it follows very similar conventions.


In your existing project where you'd like to have migrations:

npm install --save node-migrate-mongo
cat << EOF- >
  module.exports =
    mongo: 'mongodb://localhost/your_db'
migrate generate --name my_first_migration
# edit it
migrate all

Migratefile Options

  • beforeTest -- An async function called before running a migration test. By default sets NODE_ENV=test.
  • before -- An async function called before running a command. Useful for connecting your app to its database.
  • after -- An async function called after running a command.
  • afterTest -- An async function called after running a migration test.
  • mongo -- A string or function that returns a mongo connection string.
  • model -- A reference to your custom MigrationVersion model.
  • path -- The place to store your migration files. Defaults to migrations.
  • ext -- The extension for your migration files. Defaults to coffee.
  • template -- The template used when generating migrations.

before/after callbacks are called in this order: [ beforeTest, before, after, afterTest ]


Please follow our Code of Conduct when contributing to this project.

$ git clone && cd node-migrate-mongo
$ npm install
$ npm test

Module scaffold generated by generator-goodeggs-npm.