nth*_*ile 4 javascript database mongodb node.js express
对于上下文,我正在编写 ExpressJS 应用程序并使用 MongoDB 节点驱动程序mongodb.
该应用程序有时需要与远程数据库快速通信,具体取决于用户执行操作的频率。我了解应用程序不应在每次需要数据时打开和关闭连接。它应该连接一次,并且应该有一个db可用于查询的名称,例如:db.collection("users").find(...),并且所有未来的数据库调用都应该使用该 db变量。
但是如果我部署我的应用程序,我假设server.js在应用程序生命周期的开始只执行一次。这意味着在该部署的整个生命周期中只建立一次连接。
但是这些连接不会超时吗?我是否只检查dbvar 是一个打开的连接,如果不是,在拨打电话之前重新连接?
奇怪的是,我没有找到很多指南,所以我不知道正确的方法,这就是我在这里问的原因。如果我能以更好的方式问这个问题,请告诉我。
dan*_*mly 10
您不必自己管理连接。MongoClient.connect 调用附带了电池。请参阅文档:connect 方法包括一个autoReconnect(默认为 true),它将尝试保持连接可用。您还可以poolSize(默认为 5)为客户端(您可以在整个应用程序中保存和重用)提供使用 1 个以上连接的机会。
添加完整示例:
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));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6265 次 |
| 最近记录: |