java - 我想了解 mongodb

标签 java node.js mongodb api

我目前正在创建一个可读写的 API 服务器。使用 MongoDB

该库使用 Mongoose。

我想知道读写时是否必须使用db.close()

数据模型.js:

var db = mongoose.connect('mongodb://localhost/testdb', {useNewUrlParser: true,useUnifiedTopology:true});
mongoose.Promise = global.Promise;

.....
Boards = mongoose.model("boards", BoardSchema);
exports.Boards = Boards;

路线/getList.js:

let result = await Boards.find().sort({"date": -1});

在读取或写入时是否应该使用 db.close() 关闭上面声明的数据库?

最佳答案

(非常通用的答案,但应该可以帮助您开始研究什么)

关闭 MongoDB 连接取决于连接最初是如何建立的。

  1. 您是否在服务器启动时初始化连接:如果是,则不应关闭连接。 (但是在服务器启动时初始化连接是个坏主意,因为如果与服务器的连接丢失(例如数据库服务器重新启动),那么您还必须重新启动应用程序或设置 reconnectTries ) p>

  2. 您是否使用连接池:如果您使用连接池,则连接的关闭和打开由 Mongoose 本身负责。您所要做的就是在使用后释放连接,以便其他请求可用。

  3. 您是否为每个请求创建连接:如果是,那么您应该在返回响应之前关闭连接,否则您将很快耗尽数据库服务器上的可用连接。

关于java - 我想了解 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58334038/

相关文章:

node.js - 运行 mongoose 更新代码时出错 ( router.patch() )

mongodb - 助力车:插入后获取ID

java - 如何使用Abdera atom客户端发送内容和附件

java - PDFDomTree 在将 pdf 文件转换为 html 时未检测到空格

Java - 使用通配符列表创建数组列表

json - Mongodb:根据另一个元素重命名数组中的json元素

java - 从 mongo 数组中删除嵌套文档

java - 如何扫描远程主机使用的端口?

node.js - 如何从 sequelize 获取 Unix 偏移量?

node.js - 为什么我似乎无法将普通对象合并到 Mongo Document 中?