pymongo.MongoClient在创建实例时未连接

时间:2019-02-01 20:28:19

标签: python-3.x mongodb pymongo

我不断看到这样使用MongoClient的示例(简化):

import pymongo

try:
   conn=pymongo.MongoClient(‘localhost’,27017)
   print('connected')
except:
   print('not connected')

但是没有连接,因为当我这样做时

import pymongo
print(pymongo.MongoClient('blabla'))

我得到:

MongoClient(host=['blabla:27017'], document_class=dict, tz_aware=False, connect=True)

当我打.find()时,实际的连接正在进行。

这对我来说似乎很奇怪和令人困惑。

1 个答案:

答案 0 :(得分:1)

来自http://api.mongodb.com/python/current/api/pymongo/mongo_client.html

  

注意从3.0版开始,MongoClient构造函数在连接到一个或多个服务器时不再阻塞,如果它们不可用,则不再引发ConnectionFailure;如果用户的凭据错误,也不会引发ConfigurationError。而是,构造函数立即返回并在后台线程上启动连接过程。您可以像这样检查服务器是否可用: