Javascript 如何使用ES6跨NodeJS模块正确重用MongoDriver连接

Javascript 如何使用ES6跨NodeJS模块正确重用MongoDriver连接,javascript,node.js,mongodb,ecmascript-6,Javascript,Node.js,Mongodb,Ecmascript 6,首先,这是一个类似的问题,但我想由于ES6语法的原因,它仍然是不同的 所以我决定使用MongoDriver,并为此创建了一个类,如So answer:dbconnections.js中所示 import { default as mongodb } from 'mongodb'; const MongoClient = mongodb.MongoClient; const url = "myurl" let _db; export const connectToServer

首先,这是一个类似的问题,但我想由于ES6语法的原因,它仍然是不同的

所以我决定使用MongoDriver,并为此创建了一个类,如So answer: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)
因为我总是得到未定义的,所以我必须在每个函数中调用我的getter


所以我的问题是:如何正确地为MongoDriver处理程序创建一个结构,并使用ES6将其传递给不同的模块?

将客户机对象传递给需要它的对象和函数