У меня есть приложение express. js, которое использует mon goose для подключения к MongoDB. в настоящее время у меня есть код mon goose для подключения к БД в отдельном файле, поскольку он часто используется в модулях
, это код для соединителя
const mongoose = require("mongoose");
let host = process.env.DB_HOST;
let port = process.env.DB_PORT;
let name = process.env.DB_NAME;
mongoose
.connect(`mongodb://${host}:${port}/${name}`, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true
})
.then(() => {
console.log("Connection established with DB");
})
.catch(error => {
console.log(`Error in conecting to database!\n${error}`);
});
. файл моего основного приложения. js, использующий
require("./database/connector")
, после этого запуск сервера express с
app.listen(PORT,()=>{console.log(`server started at port ${PORT}`);})
Пока все работает нормально, я получаю вывод
server started at port 3000
Connections established with DB
Что в основном означает, что соединение с базой данных происходит после запуска сервера. По причинам, в которые я не буду сейчас углубляться, мне нужен способ гарантировать, что сервер не принимает какие-либо запросы, пока база данных не будет соединение установлено (это не обязательно, но это значительно облегчит мой процесс тестирования, я использую jest и supertest для тестирования)
Какой лучший способ выполнить это sh?