1.0.2 • Published 6 years ago

@tmigone/mongooseeder v1.0.2

Weekly downloads
-
License
WTFPL
Repository
github
Last release
6 years ago

mongooseeder

Seed a mongodb database with data taken from JSON files, for testing purposes or just populating your database. Library requires usage of mongoose models.

Installation

npm install --save @tmigone/mongooseeder

Usage

let uri = ''

let data = [{
  name: 'Author',
  model: path.join(__dirname, './models/Author.js'),
  migration: path.join(__dirname, './migrations/authors.json'),
  drop: true
}]

let seeder = new MongooSeeder(uri, data)
seeder.seed()

Options

OptionDescription
nameModel name. Must be same as the registered shema on mongoose.
modelPath to mongoose model file.
migrationPath to seeder input data.
droptrue:false Whether to drop the collection before importing or not.

Model schema

const mongoose = require('mongoose')
let Schema = mongoose.Schema

let AuthorSchema = new Schema({
  first_name: {type: String, required: true, max: 100},
  family_name: {type: String, required: true, max: 100}
})

module.exports = mongoose.model('Author', AuthorSchema)

Migration file

{
  "model": "Author",
  "documents": [
    {
      "first_name": "John",
      "family_name": "Doe"
    },
    {
      "first_name": "Jane",
      "family_name": "Smith"
    },
    {
      "first_name": "Edgar",
      "family_name": "Poe"
    }
  ]
}
1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago