在 MongooseJS 中使用 on() 或 once() 来处理 `open` 事件
Posted
技术标签:
【中文标题】在 MongooseJS 中使用 on() 或 once() 来处理 `open` 事件【英文标题】:Using on() or once() for `open` event in MongooseJS 【发布时间】:2013-07-25 22:20:41 【问题描述】:我见过很多实际建立 MongoDB 连接的不同方法:
-
我见过一些人们不使用
open
或error
事件的代码
mongoose.connection.on('open', callback());
mongoose.connection.once('open', callback());
我的看法是:
如果我的应用只在需要使用时才连接到数据库,请使用(2) 如果我的应用程序一直连接到数据库……我使用 (2) 还是 (3) 都没有关系?这也提出了一个问题,我的应用是否应该保持与数据库的持久连接(服务器和数据库在同一台机器上运行)?
感谢您的帮助
【问题讨论】:
【参考方案1】:您说得对,当您的应用程序不断连接到数据库时,使用 (2) 或 (3) 并不重要。
就持久连接而言,唯一的代价是每隔一段时间发送一个 tcp keepalive 数据包。由您决定额外的套接字是否值得不必为每次调用建立新连接。
【讨论】:
以上是关于在 MongooseJS 中使用 on() 或 once() 来处理 `open` 事件的主要内容,如果未能解决你的问题,请参考以下文章
Mongoosejs - 我可以在“查找”的后查询中间件中修改文档吗?