我不断看到这样使用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()
时,实际的连接正在进行。
这对我来说似乎很奇怪和令人困惑。
答案 0 :(得分:1)
来自http://api.mongodb.com/python/current/api/pymongo/mongo_client.html
注意从3.0版开始,MongoClient构造函数在连接到一个或多个服务器时不再阻塞,如果它们不可用,则不再引发ConnectionFailure;如果用户的凭据错误,也不会引发ConfigurationError。而是,构造函数立即返回并在后台线程上启动连接过程。您可以像这样检查服务器是否可用: