【发布时间】:2021-04-09 15:25:31
【问题描述】:
首先这是一个类似How to properly reuse connection to Mongodb across NodeJs application and modules 的问题,但我想由于 ES6 语法,它仍然不同。
所以我决定使用 MongoDriver 并为此创建了一个类,如 SO 答案:dbconnections.js
import { default as mongodb } from 'mongodb';
const MongoClient = mongodb.MongoClient;
const url = "myurl"
let _db;
export const connectToServer = async (callback) => {
try {
MongoClient.connect( url, { useNewUrlParser: true, useUnifiedTopology:true }, ( err, db ) => {
_db = db
return callback( err )
})
} catch (e) {
throw e
}
}
export const getDB = () => _db
export const disconnectDB = () => _db.close()
这个模块的问题是,由于 ES6 语法,我无法制作这样的东西
import {getDB} from '../dbconnections.js'
const driverDB=getDB()
export const someFunction= async (req,res) => {
console.log(driverDB)
因为我总是得到undefiened,所以我必须在每个函数中调用我的getter。
所以我的问题是:如何为 MongoDriver 处理程序正确创建一个结构并将其传递给 ES6 的不同模块?
【问题讨论】:
标签: javascript node.js mongodb ecmascript-6