Просмотр исходного кода

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

Co-Authored-By: John Lees-Miller <jdleesmiller@gmail.com>
Jakob Ackermann 6 лет назад
Родитель
Сommit
1e7fa2246d
1 измененных файлов с 7 добавлено и 3 удалено
  1. 7 3
      services/docstore/app/js/mongodb.js

+ 7 - 3
services/docstore/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.docs = internalDb.collection('docs')
   db.docOps = internalDb.collection('docOps')
-})
+}
 
 module.exports = {
   db,