Skip to content

davidnghk01/mongoose-data-seed

This branch is 81 commits behind sharvit/mongoose-data-seed:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Avi Sharvit
Oct 28, 2018
3df2e28 · Oct 28, 2018

History

66 Commits
Oct 28, 2018
Oct 28, 2018
Oct 28, 2018
Dec 28, 2017
Apr 12, 2017
Dec 29, 2017
Dec 28, 2017
Apr 15, 2017
Apr 16, 2017
Oct 28, 2018
Jul 9, 2017
Apr 17, 2017
Apr 16, 2017
Oct 28, 2018
Dec 28, 2017
Apr 17, 2017
Oct 28, 2018
Dec 29, 2017

Repository files navigation

Build Status Coverage Status PRs Welcome dependencies Status devDependencies Status code style: prettier FOSSA Status MIT License

mongoose-data-seed

Seed mongodb with data using mongoose models

cli example using md-seed run

Install

npm install --save mongoose-data-seed
md-seed init

md-seed init will ask you to choose a folder for your seeders and whether to use ES6/2015 syntax which require babel.

md-seed init will create the seeders folder, generate md-seed-config.js and md-seed-generator.json.

Use

Generate seeder file

md-seed g users

Run all seeders

md-seed run

Or run specific seeders

md-seed run users posts comments

Options

Drop the database before seeding

md-seed run --dropdb

Seeder Example

import { Seeder } from "mongoose-data-seed";
import { User } from "../server/models";

const data = [
  {
    email: "user1@gmail.com",
    password: "123123",
    password_confirmation: "123123",
    isAdmin: true
  },
  {
    email: "user2@gmail.com",
    password: "123123",
    password_confirmation: "123123",
    isAdmin: false
  }
];

class UsersSeeder extends Seeder {
  async shouldRun() {
    return User.countDocuments()
      .exec()
      .then(count => count === 0);
  }

  async run() {
    return User.create(data);
  }
}

export default UsersSeeder;

md-seed-config.js

md-seed excepting to get 3 values from md-seed-config.js

  1. mongoose - The mongoose library (so md-seed will use the same version as your project)
  2. mongoURL - Url to your mongodb
  3. seedersList - A key/value list of all your seeders, md-seed will run your seeders as they ordered in the list.

Example

import mongooseLib from "mongoose";
mongooseLib.Promise = global.Promise;

import Users from "./seeders/users.seeder";
import Posts from "./seeders/posts.seeder";
import Comments from "./seeders/comments.seeder";

// Export the mongoose lib
export const mongoose = mongooseLib;

// Export the mongodb url
export const mongoURL =
  process.env.MONGO_URL || "mongodb://localhost:27017/dbname";

/*
  Seeders List
  ------
  order is important
*/
export const seedersList = {
  Users,
  Posts,
  Comments
};

Examples

  1. md-seed-example-es2015-babel
  2. md-seed-example-es5

License

MIT

FOSSA Status MIT License

About

Seed mongodb with data using mongoose models

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%