Python相当于db.getCollectionInfos

时间:2018-04-10 00:53:41

标签: python mongodb validation pymongo

我试图找到一种方法列出mongodb集合的所有验证规则,我想用python

在mongo shell中,命令是:

db.getCollectionInfos()

但是我无法在pymongo

中识别出等效的命令
db.foo.collection_infos()
db.foo.getCollectionInfos()

都失败了(或类似的东西):

TypeError: 'Collection' object is not callable. If you meant to call the 'get_collection_infos' method on a 'Database' object it is failing because no such method exists.

然后我尝试将基本上随机的命令放入解释器

db.command({"foo": "getCollectionInfos"})

不出所料,这也没有用。

1 个答案:

答案 0 :(得分:1)

getCollectionInfos mongo shell命令包装的命令是listCollections administrative command

Administrative commands可用于对数据库运行。但是,某些mongo shell methods与管理命令共享相似的名称( .eg cloneConnection currentOp dropDatabase , 等等)。很容易认为其他mongo shell方法是行政命令,但它们不是。

使用listCollections命令,例如

# Return information for all collections in the database.
db.command('listCollections')

# Return information for collection `a`
db.command({'listCollections': 1, 'filter': {'name': 'a'}})