在Mongoid2.x中,用户可以执行Mongoid.database.connection.close来重置数据库连接。Mongoid3中不再提供此特定接口,重置连接的新方法是什么?
动机:在查询正在进行时中断查询(ctrl-c)会终止您的连接。任何后续查询都将挂起。此外,抛出的错误(如超时)也会做同样的事情(参见:http://simple10.com/rescuing-from-racktimeout-to-close-mongodb-connection)。
发布于 2013-11-21 04:17:02
我找到解决方案了!
Mongoid::Sessions.default.disconnect或
Model.collection.database.session.disconnect如果您使用ctrl-c中断控制台中的查询,这将正确地重置连接。
发布于 2012-09-30 04:56:14
事实证明,mongoid3的替代mongo驱动程序,Moped,实际上是自动处理重试连接。
https://github.com/mongoid/moped/blob/master/lib/moped/node.rb#L115
发布于 2018-09-01 00:12:01
除了使用以下命令断开特定会话
Mongoid::Sessions.default.disconnect
您还可以使用以下命令断开所有会话
Mongoid::Sessions.disconnect
您可以使用以下命令获取所有活动会话的列表
Mongoid.sessions
https://stackoverflow.com/questions/12625521
复制相似问题