Files
myDrive/serverUtils/createIndexes.js
T

50 lines
1.4 KiB
JavaScript

const mongoose = require("../backend/db/mongoose");
const conn = mongoose.connection;
const waitForDatabase = () => {
return new Promise((resolve, reject) => {
if (conn.readyState !== 1) {
conn.once("open", () => {
resolve();
})
} else {
resolve();
}
})
}
const createIndexes = async() => {
console.log("Waiting For Database...");
await waitForDatabase();
console.log("Connected To Database\n");
console.log("Creating Indexes...")
await conn.db.collection("fs.files").createIndex({uploadDate: 1});
await conn.db.collection("fs.files").createIndex({uploadDate: -1});
await conn.db.collection("fs.files").createIndex({filename: 1});
await conn.db.collection("fs.files").createIndex({filename: -1});
await conn.db.collection("fs.files").createIndex({"metadata.owner": 1});
await conn.db.collection("folders").createIndex({createdAt: 1})
await conn.db.collection("folders").createIndex({createdAt: -1})
await conn.db.collection("folders").createIndex({name: 1});
await conn.db.collection("folders").createIndex({name: -1})
await conn.db.collection("folders").createIndex({owner: 1})
await conn.db.collection("thumbnails").createIndex({owner: 1})
console.log("Indexes Created");
process.exit();
}
createIndexes();