From e502a77782bd908818a283f396491eaa9efece6a Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 30 Jun 2026 20:09:45 +0000 Subject: [PATCH] Initial --- src/db.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/db.js diff --git a/src/db.js b/src/db.js new file mode 100644 index 0000000..590b5dc --- /dev/null +++ b/src/db.js @@ -0,0 +1,30 @@ +const mongoose = require('mongoose'); + +async function connectDB() { + const uri = process.env.MONGODB_URI; + if (!uri) { + throw new Error('MONGODB_URI ist nicht gesetzt.'); + } + + const maxRetries = 10; + let attempt = 0; + + // Beim Start mit docker-compose ist die MongoDB manchmal noch nicht + // bereit, deshalb versuchen wir es mit kurzer Pause mehrmals. + while (attempt < maxRetries) { + try { + await mongoose.connect(uri); + console.log('MongoDB verbunden.'); + return; + } catch (err) { + attempt += 1; + console.error( + `MongoDB-Verbindung fehlgeschlagen (Versuch ${attempt}/${maxRetries}): ${err.message}` + ); + if (attempt >= maxRetries) throw err; + await new Promise((resolve) => setTimeout(resolve, 3000)); + } + } +} + +module.exports = { connectDB };