-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathseed.js
More file actions
32 lines (26 loc) · 1.09 KB
/
seed.js
File metadata and controls
32 lines (26 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//if you are testing outisde of test file - with insomnia for example, run the seed file
//to reset the database back to the base state.
const allCategories = require("./data/categoryData");
const allQuotes = require("./data/quoteData");
const allUsers = require("./data/userdata");
const { mongoLink, mongoDbName } = require("./testMongoDB");
const MongoClient = require("mongodb").MongoClient;
async function seedDB(mongoLink, mongoDbName, allUsers, allCategories, allQuotes) {
const client = new MongoClient(mongoLink);
try {
await client.connect();
const mngdb = client.db(mongoDbName);
await mngdb.dropDatabase();
await mngdb.createCollection("Quotes");
await mngdb.createCollection("Users");
await mngdb.createCollection("Categories");
await mngdb.collection("Users").insertMany(allUsers);
await mngdb.collection("Categories").insertMany(allCategories);
await mngdb.collection("Quotes").insertMany(allQuotes);
} catch {
} finally {
await client.close();
}
}
seedDB(mongoLink, mongoDbName, allUsers, allCategories, allQuotes);
module.exports = seedDB;