Kaynağa Gözat

[misc] mongodb: refactor the process of setting up the db construct

Co-Authored-By: John Lees-Miller <jdleesmiller@gmail.com>
Jakob Ackermann 6 yıl önce
ebeveyn
işleme
9d28208870
1 değiştirilmiş dosya ile 7 ekleme ve 3 silme
  1. 7 3
      services/notifications/app/js/mongodb.js

+ 7 - 3
services/notifications/app/js/mongodb.js

@@ -3,16 +3,20 @@ const { MongoClient, ObjectId } = require('mongodb')
 
 
 const clientPromise = MongoClient.connect(Settings.mongo.url)
 const clientPromise = MongoClient.connect(Settings.mongo.url)
 
 
+let setupDbPromise
 async function waitForDb() {
 async function waitForDb() {
-  await clientPromise
+  if (!setupDbPromise) {
+    setupDbPromise = setupDb()
+  }
+  await setupDbPromise
 }
 }
 
 
 const db = {}
 const db = {}
-waitForDb().then(async function () {
+async function setupDb() {
   const internalDb = (await clientPromise).db()
   const internalDb = (await clientPromise).db()
 
 
   db.notifications = internalDb.collection('notifications')
   db.notifications = internalDb.collection('notifications')
-})
+}
 
 
 module.exports = {
 module.exports = {
   db,
   db,