Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including mongoose-seed with all npm packages installed. Try it out:

var mongooseSeed = require("mongoose-seed")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

mongoose-seed v0.6.0

Seed data population for Mongoose

mongoose-seed

mongoose-seed lets you populate and clear MongoDB documents with all the benefits of Mongoose validation

Basic example


var seeder = require('mongoose-seed');

// Connect to MongoDB via Mongoose
seeder.connect('mongodb://localhost/sample-dev', function() {

  // Load Mongoose models
  seeder.loadModels([
    'app/model1File.js',
    'app/model2File.js'
  ]);

  // Clear specified collections
  seeder.clearModels(['Model1', 'Model2'], function() {

    // Callback to populate DB once collections have been cleared
    seeder.populateModels(data, function() {
      seeder.disconnect();
    });

  });
});

// Data array containing seed data - documents organized by Model
var data = [
    {
        'model': 'Model1',
        'documents': [
            {
                'name': 'Doc1',
                'value': 200
            },
            {
                'name': 'Doc2',
                'value': 400
            }
        ]
    }
];

Methods

seeder.connect(db, [callback])

Initializes connection to MongoDB via Mongoose singleton.


seeder.loadModels(filePaths)

Loads mongoose models into Mongoose singleton. Only Models that have been loaded can be cleared or populated.


seeder.clearModels(modelArray, [callback])

Clears DB collection specified by each model in modelArray. Callback is executed after DB is cleared (useful for populateModels method)


seeder.populateModels(dataArray, [callback])

Populates MongoDB with documents in dataArray. dataArray consists of objects with 'model' and 'documents' keys, where 'documents' is an array of valid collection documents. Note that Mongoose Schema validation is enforced.


seeder.disconnect()

Disconnects mongoose db-handle. Use it inside populateModels callback to cleanly exit the program (see example above).


seeder.setLogOutput(logOutput)

Disables or enables calls to console.log. If false is passed, only errors will be print to console.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free