我的目标是使用mongodb版本4.0和node.js驱动程序3.1.10使用node.js设置基于express的api .
在目前阶段,我的api部分已基本完成,但最终我的同事将把他们的进展合并到它上面 . 所以我的问题是:
How can I share my connection instance of mongodb to acces it across multiple methods?
我目前的结构是这种类型:
-
app.js服务器调用route.js进行路由管理
-
route.js调用userController.js来管理用户的conecerned方法
-
userController.js,用于管理资源/用户的CRUD操作
在网上搜索结果建议保持连接打开,以便nodejs驱动程序为所有查询管理它,因此我必须公开连接的哪一部分:
-
MongoClient.connect(url)
回调的结果? -
MongoClient.connect(url)
值本身?
我何时何地打开连接并且必须关闭它?
我知道存在一些类似的问题,但它们已经过时了,并且引用了mongodb api和javscript实现,所以使用回调或等待我如何实现这一点?
1 回答
您必须创建一个模块,该模块导出MongoClient.connect方法创建的连接对象 . 这里的问题是该方法是异步的,所以你必须处理它 . 你有多种选择 . 一种方法可能是这样的:
database.js
另一个模块