Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require('dotenv').config()
- const mongoose = require('mongoose')
- const faker = require('faker')
- const UserModel = require('./models/user')
- const PostModel = require('./models/post')
- mongoose.connection.openUri(process.env.MONGODB_CONN_STRING, {
- useMongoClient: true,
- })
- mongoose.Promise = global.Promise
- let exactUser = [
- UserModel.create({
- name: 'Fajar Patappari',
- email: 'top.sick.red@gmail.com',
- password: '1234',
- }),
- UserModel.create({
- name: 'Agum',
- email: 'agum@gmail.com',
- password: '1234',
- }),
- ]
- function rb(min, max) {
- return Math.floor(Math.random() * (max - min + 1) + min)
- }
- function createUsers(howMuch = 5){
- let users = exactUser
- for (let i = 0; i < howMuch; i++) {
- let user = UserModel.create({
- name: faker.name.findName(),
- email: faker.internet.email().toLowerCase(),
- password: '1234',
- })
- users.push(user)
- }
- return Promise.all(users)
- }
- function randomParagraphs() {
- return Array.apply(null, Array(rb(1, 5))).map((x) => {
- return `<p>${faker.lorem.paragraph()}</p>`
- }).join('')
- }
- function createPosts(users) {
- let posts = []
- for (const user of users) {
- for (let i = 0; i < 5; i++) {
- let post = PostModel.create({
- creator: user._id,
- title : faker.lorem.sentence().split('.').join(''),
- imageUrl : faker.random.image(),
- article : randomParagraphs(),
- })
- posts.push(post)
- }
- }
- return Promise.all(posts)
- }
- function up(){
- createUsers()
- .then(users => createPosts(users))
- .then(posts => {
- console.log(posts[0])
- console.log(posts[1])
- process.exit()
- })
- .catch(console.log)
- }
- function down() {
- console.log('Deleting Database');
- Promise.all([
- UserModel.remove({}),
- PostModel.remove({})
- ])
- .then((res)=> {
- console.log('Delete Database Success')
- process.exit()
- })
- .catch(console.log)
- }
- let cmd = process.argv[2]
- if (cmd == 'down'){
- down()
- }else if(cmd == 'up'){
- up()
- }else{
- console.log('no argument. option is "node seeder up" or "node seeder down"')
- process.exit()
- }
Add Comment
Please, Sign In to add comment