mongoose-seed
Version:
Seed data population for Mongoose
85 lines (56 loc) • 2.02 kB
Markdown
and clear MongoDB documents with all the benefits of Mongoose validation
```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
}
]
}
];
```
Initializes connection to MongoDB via Mongoose singleton.
---------------------------------------
Loads mongoose models into Mongoose singleton. *Only Models that have been loaded can be cleared or populated.*
---------------------------------------
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.
mongoose-seed lets you populate