const chalk = require("chalk"); console.log(chalk.blue("Creating database indexes...\n\n")); let MongoClient; try { MongoClient = require("mongodb").MongoClient; } catch (e) { console.log(chalk.red("Cannot find module mongodb. Please install it using \"npm install mongodb\" before executing script.")); process.exit(1); } const config = require("../config"); const dbName = config.mongoDB.split("/").pop(); const baseURL = config.mongoDB.substr(0, config.mongoDB.length - dbName.length); const client = new MongoClient(baseURL, { useNewUrlParser: true, useUnifiedTopology: true, }); client.connect().then(async () => { console.log(chalk.green("Connected successfully to mongoDB database.")); const db = client.db(dbName); const guilds = db.collection("guilds"); const members = db.collection("members"); const users = db.collection("users"); console.log(chalk.yellow("Creating guilds index...")); await guilds.createIndex({ id: 1, }); console.log(chalk.green("Guilds index created.")); console.log(chalk.yellow("Creating members index...")); await members.createIndex({ guildID: 1, id: -1, }); console.log(chalk.green("Members index created.")); console.log(chalk.yellow("Creating users index...")); await users.createIndex({ id: 1, }); console.log(chalk.green("Users index created.")); console.log(chalk.blue("\n\nIndexes created.")); process.exit(0); }).catch(() => { console.log(chalk.red("Couldn't connect to mongoDB database...")); process.exit(1); });