MNEMO / server /src /config /db.js
SyntaxAdi
style: fix image rendering and refine AnswerRenderer logic
bcf42ee
Raw
History Blame Contribute Delete
719 Bytes
import mongoose from "mongoose";
import { env } from "./env.js";
let connectPromise = null;
export function isDatabaseReady() {
return mongoose.connection.readyState === 1;
}
export function connectDatabase() {
if (!connectPromise) {
connectPromise = mongoose.connect(env.mongoUri).catch((error) => {
connectPromise = null;
throw error;
});
}
return connectPromise;
}
export function scheduleReconnect(delayMs = 5000) {
setTimeout(() => {
connectDatabase()
.then(() => {
console.log("MongoDB connected");
})
.catch((error) => {
console.error("Database connection failed", error.message);
scheduleReconnect(delayMs);
});
}, delayMs);
}