社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

何时关闭MongoDB连接

nth-chile • 4 年前 • 279 次点击  

对于上下文,我正在编写一个ExpressJS应用程序并使用MongoDB节点驱动程序, mongodb .

该应用程序有时需要与远程数据库快速对话,这取决于用户做事情的频率。我理解应用程序不应该在每次需要数据时打开和关闭连接。它应该连接一次,并且应该有一个名为 db 可用于查询的,例如: db.collection("users").find(...) 所有未来的数据库调用都应该使用 分贝 变量。

但是如果我部署我的应用程序,我假设 server.js 在应用程序的生命开始时只执行一次。这意味着在部署的整个生命周期中只进行一次连接。

但是这些连接不是超时了吗?我只是检查一下 分贝 var是一个打开的连接,如果不是,在调用之前重新连接?

令人惊讶的是,我没有找到很多导游,所以我不知道正确的方法,这就是为什么我在这里问。如果我能更好地问这个问题,请告诉我。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37870
 
279 次点击  
文章 [ 1 ]  |  最新文章 4 年前
danielgormly
Reply   •   1 楼
danielgormly    5 年前

您不必自己管理连接。mongoclient.connect调用附带电池。见 the docs :connect方法包括 autoReconnect (默认为true),它将尝试保持连接可用。你也有 poolSize (默认值为5)为客户端(您可以在整个应用程序中保存和重用)提供使用多个连接的机会。

添加完整示例:

const { MongoClient } = require('mongodb');

const url = 'mongodb://localhost:27017';

MongoClient.connect(url)
    .then(client => runMyApp(client));

function runMyApp(client) {
    // Use client however you like e.g.
    client.db('users').find({})
        .then((results) => console.log(results));
}