Advertisement
Ekhel

Async with Validators

Aug 11th, 2020
1,068
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const fs = require('fs');
  2. const mongoose = require('mongoose');
  3. const dotenv = require('dotenv');
  4. const Tour = require('./../../models/Model');
  5.  
  6. dotenv.config({ path: './config.env' });
  7.  
  8. const DB = process.env.DATABASE.replace(
  9.   '<PASSWORD>',
  10.   process.env.DATABASE_PASSWORD
  11. );
  12.  
  13. mongoose
  14.   .connect(DB, {
  15.     //.connect(process.env.DATABASE_LOCAL, {
  16.     useNewUrlParser: true,
  17.     useCreateIndex: true,
  18.     useFindAndModify: false,
  19.   })
  20.   .then(() => console.log('Connect DB Done!'));
  21.  
  22. const tours = JSON.parse(
  23.   fs.readFileSync(`${__dirname}/data-simple.json`, 'utf-8')
  24. );
  25.  
  26. const importData = async () => {
  27.   try {
  28.     await Tour.create(tours);
  29.     console.log('Data Successfull Load');
  30.   } catch (err) {
  31.     console.log(err);
  32.   }
  33.   process.exit();
  34. };
  35.  
  36. const deleteData = async () => {
  37.   try {
  38.     await Tour.deleteMany();
  39.     console.log('Data Successful Delete');
  40.   } catch (err) {
  41.     console.log(err);
  42.   }
  43.   process.exit();
  44. };
  45.  
  46. if (process.argv[2] === '--import') {
  47.   importData();
  48. } else if (process.argv[2] === '--delete') {
  49.   deleteData();
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement