当前位置: 首页 > 面试题库 >

如何在Node.js Web应用程序中管理MongoDB连接?

平俊茂
2023-03-14
问题内容

我在MongoDB中使用node-mongodb-native驱动程序来编写网站。

我对如何管理连接有一些疑问:

  1. 仅使用一个MongoDB连接就可以处理所有请求是否足够?是否存在性能问题?如果没有,是否可以设置全局连接以在整个应用程序中使用?

  2. 如果没有,如果在请求到达时打开一个新连接,并在处理请求时将其关闭,那会很好吗?打开和关闭连接是否昂贵?

  3. 我应该使用全局连接池吗?我听说驱动程序具有本地连接池。这是一个好选择吗?

  4. 如果使用连接池,应该使用多少个连接?

  5. 还有其他我应该注意的事情吗?


问题答案:

node-mongodb-native的主要提交者说:

您的应用程序启动并重新使用db对象时,只需打开一次do MongoClient.connect。每个.connect都不是一个单例连接池。

因此,要直接回答您的问题,请
重复使用产生的db对象MongoClient.connect()。与每个数据库操作上的打开/关闭连接相比,这可以为您提供缓冲,并且速度会明显提高。



 类似资料:
  • 我正在使用带有MongoDB的Node-MongoDB本机驱动程序来编写一个网站。 我有一些关于如何管理连接的问题: > 对所有请求只使用一个MongoDB连接是否足够?是否存在性能问题?如果不是,我可以设置一个全局连接在整个应用程序中使用吗? 如果不是,如果我在请求到达时打开一个新的连接,并且在处理请求时关闭它,这是好的吗?打开和关闭一个连接是否昂贵? 我应该使用全局连接池吗?我听说驱动程序有一

  • 问题内容: 我正在将MongoDB与Java结合使用,并且对我的连接存在一些问题。首先,我应该如何连接到Mongo?我应该使用静态客户端并保持打开状态吗?因为连接大约需要500毫秒。因此,在用户需要数据时始终连接它不是最好的主意吗? 但是接下来的问题是。当我进行一些查询时,我收到错误消息或。 那么,我应该如何管理整个MongoDB连接呢?始终等待500毫秒是减慢速度并在10个连接不太好之后重启服务

  • Windows NT Option Pack 提供了在 Web 服务器上的 ASP 应用程序管理服务。例如,Internet 服务管理器为应用程序开发人员提供了一个使用简便的管理工具来设置应用程序的属性。另外,Active Server Pages 提供了允许用户的应用程序存储全局数据的脚本功能。本主题简要介绍部分应用程序管理功能,并提供到详细信息的链接。 启动和结束应用程序 当 Web 服务器第

  • 我刚刚使用带有依赖项的Spring工具套件创建了一个非常基本的Spring Boot项目,并运行了该应用程序,但是,我总是遇到以下异常 2019-11-27 00:31:19.699信息11988---[localhost:27017]org.mongodb.driver.cluster:连接到服务器时监视器线程出现异常localhost:27017 我错过了什么?

  • 我的主文件app.js连接到userDB我想添加第二个数据库postsDB 常量mongoose=require(“mongoose”); 常量app=express(); mongoose.set(“UseCreateIndex”,true);mongoose.set(“UseUnifiedTopology”,true); Mongoose.connect(“MongoDB://localhos

  • Rails 是一个非常受欢迎的 Web 应用程序框架(从某种意义上说,是由于它被广泛应用而不是人们真正喜欢它)。 因此,在某些时候,你可能会被要求管理它。 本节要介绍的处方包含了安装一台运行 Rails 应用程序服务器所要做的绝大部分工作。 本处方假定你会使用 Nginx 和 Passenger 作为 Web 服务器, 然而你也可以轻松地修改本处方,使用 Apache 替换它。 操作步骤 创建 r