阅读文档,搜索堆栈,但我找不到一个非常简单的文档 功能:如何检查连接是否已建立?
与
建立数据库连接 db = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
我不时会忘记启动mongodb数据库,然后驱动程序尝试连接并且很好......并不是说连接本身有很多。
是否有某种.isConnected?方法或任何要找的东西
当前Mongo::Client
实例的连接状态?
提前致谢
答案 0 :(得分:4)
Mongo ruby驱动程序的1.x版本确实在connected?
上公开了Mongo::Connection
方法,但它已在v2中移动到live on Mongo::Server
,但其含义有所改变。
以下是使用此方法的示例:
mongo = Mongo::Client.new('mongodb://localhost/mycollection')
#=> #<Mongo::Client:0x70279909414900 cluster=localhost:27017>
mongo.cluster.servers.first.connected?
#=> true
在Mongo ruby驱动程序的v2中,它会在尝试使用无效连接时引发异常,例如Mongo::Error::NoServerAvailable
,基于有关超时的连接参数。出于简单检查连接是否已建立的目的,可能是:
mongo = Mongo::Client.new('mongodb://localhost/mycollection')
mongo.list_databases => # raise error or return an array