UNPKG

awesome-mongoose-seed

Version:

Seed data population for Mongoose

73 lines (57 loc) 1.99 kB
# mongoose-seed based on: [mongoose-seed - npm](https://www.npmjs.com/package/mongoose-seed) mongoose-seed lets you populate and clear MongoDB documents with all the benefits of Mongoose validation ## Basic example ```javascript 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.