ソースを参照

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

Co-Authored-By: John Lees-Miller <jdleesmiller@gmail.com>
Jakob Ackermann 6 年 前
親
コミット
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)
 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.docs = internalDb.collection('docs')
   db.docs = internalDb.collection('docs')
   db.docOps = internalDb.collection('docOps')
   db.docOps = internalDb.collection('docOps')
-})
+}
 
 
 module.exports = {
 module.exports = {
   db,
   db,