mongoose-seed-db
Version:
Seed data for Mongoose models
95 lines (67 loc) • 1.98 kB
Markdown
# mongoose-seed-db
[](https://travis-ci.org/bellstrand/mongoose-seed-db)
[](https://www.npmjs.com/package/mongoose-seed-db)
mongoose-seed-db lets you populate and clear MongoDB collections with all the benefits of Mongooses model validation
## Basic example
```javascript
var MongooseSeed = require('mongoose-seed-db');
//import MongooseSeed from 'mongoose-seed-db'; //ES6
MongooseSeed.connect('mongodb://localhost:27017/mongoose-seed').then(() => {
MongooseSeed.loadModels(__dirname + '/../src/models');
MongooseSeed.clearAll().then(() => {
MongooseSeed.populate(__dirname + '/data').then(() => {
process.exit();
});
});
});
```
## Mongoose Model example
```javascript
var mongoose = require('mongoose');
//import mongoose from 'mongoose'; //ES6
var test = new mongoose.Schema({
name: { type: String }
});
export default mongoose.model('Test', test);
```
## Data example (.js)
```javascript
module.exports = {
model: 'Test',
data: [
{ name: 'js-example-entry-1' },
{ name: 'js-example-entry-1' }
]
};
```
## Data example (.json)
```json
{
"model": "Test",
"data": [
{ "name": "json-example-entry-1" },
{ "name": "json-example-entry-1" }
]
}
```
## Functions
#### MongooseSeed.connect(db)
Initializes connection to MongoDB via Mongoose.
#### MongooseSeed.loadModels(path)
Loads mongoose models from path, use: ```__dirname + '/path_to_models'```
#### MongooseSeed.populate(path, options)
Populate MongoDB with data in js/json files from path, use: ```__dirname + '/path_to_data'```
Options:
```
populateExisting: true/false
- defaults to true
- false = only populate models without existing documents
```
#### MongooseSeed.clearAll()
Clears all data from loaded models
#### MongooseSeed.clearModels(array)
Clears all data from list of models provided in array