awesome-mongoose-seed
v0.1.1
Published
Seed data population for Mongoose
Downloads
4
Maintainers
Readme
mongoose-seed
based on: mongoose-seed - npm 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.