我想了解mongodb

时间:2019-10-11 03:58:03

标签: java node.js mongodb api

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

图书馆使用猫鼬。

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

datamodel.js:

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

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

routes / getList.js:

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

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

2 个答案:

答案 0 :(得分:1)

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

关闭MongoDB连接取决于首先如何建立连接。

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

  2. 您是否正在使用connection pool:如果您正在使用连接池,则Mongoose会自己小心地关闭和打开连接。您要做的就是release使用后的连接,以便可以用于其他请求。

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

答案 1 :(得分:0)

您可以致电mongoose.disconnect()来关闭连接