如何获取适合isinstance()的pymongo数据库的class?
How to get class of pymongo database suitable for isinstance()?
我有一个测试,我试图确定我是否已经使用 pymongo 成功获得了一个数据库实例,并且想在断言中使用 isinstance(obj, class) 。但是我无法弄清楚如何获得数据库的class(不是实例)
我尝试了几种方法。这似乎最接近但仍然没有雪茄:
import pymongo
client = pymongo.MongoClient('localhost')
database = client['test']
assert isinstance(database, pymongo.MongoClient.db_name)
这不起作用,因为 db_name 未定义。 Pymongo 文档说一个新的数据库(参考?)是使用
pymongo.MongoClient.db_name
或
pymongo.MongoClient[db_name]
当然,如果我给它一个 db_name 字符串,它们就会创建一个实例,但我只想要 class,而不是实例。
谢谢!
您需要做的就是检查它是否是 pymongo.database.Database
的实例
>>> import pymongo
>>> client = pymongo.MongoClient()
>>> db = client.test
>>> isinstance(db, pymongo.database.Database)
True
我有一个测试,我试图确定我是否已经使用 pymongo 成功获得了一个数据库实例,并且想在断言中使用 isinstance(obj, class) 。但是我无法弄清楚如何获得数据库的class(不是实例)
我尝试了几种方法。这似乎最接近但仍然没有雪茄:
import pymongo
client = pymongo.MongoClient('localhost')
database = client['test']
assert isinstance(database, pymongo.MongoClient.db_name)
这不起作用,因为 db_name 未定义。 Pymongo 文档说一个新的数据库(参考?)是使用
pymongo.MongoClient.db_name
或
pymongo.MongoClient[db_name]
当然,如果我给它一个 db_name 字符串,它们就会创建一个实例,但我只想要 class,而不是实例。
谢谢!
您需要做的就是检查它是否是 pymongo.database.Database
>>> import pymongo
>>> client = pymongo.MongoClient()
>>> db = client.test
>>> isinstance(db, pymongo.database.Database)
True