我目前正在创建一个可读写的 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 连接取决于连接最初是如何建立的。
您是否在服务器启动时初始化连接:如果是,则不应关闭连接。 (但是在服务器启动时初始化连接是个坏主意,因为如果与服务器的连接丢失(例如数据库服务器重新启动),那么您还必须重新启动应用程序或设置
reconnectTries
) p>您是否使用连接池:如果您使用连接池,则连接的关闭和打开由 Mongoose 本身负责。您所要做的就是在使用后
释放
连接,以便其他请求可用。您是否为每个请求创建连接:如果是,那么您应该在返回响应之前关闭连接,否则您将很快耗尽数据库服务器上的可用连接。
关于java - 我想了解 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58334038/