فهرست منبع

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

Co-Authored-By: John Lees-Miller <jdleesmiller@gmail.com>
Jakob Ackermann 6 سال پیش
والد
کامیت
f6083a2d51
1فایلهای تغییر یافته به همراه7 افزوده شده و 3 حذف شده
  1. 7 3
      services/chat/app/js/mongodb.js

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

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