python - 使用 py-ravendb 列出 RavenDB 集合

标签 python ravendb ravendb5

我正在尝试使用 RavenDB's Python Client 查询或列出 RavenDB 数据库中的所有集合.

到目前为止,我已经得到了类似的结果:

URLS = ['http://localhost:8080']
DB_NAME = 'my-db'

store = DocumentStore(URLS, DB_NAME)
store.initialize()

with store.open_session() as session:
    collections = session.advanced.document_store.database_commands.get_collections(0, 50)

最后一行错误:

AttributeError: 'DocumentStore' object has no attribute 'database_commands'

显然database_commands不可用。但是如何使用 py-ravendb 列出 RavenDB v5.4+ 数据库中的所有集合?

最佳答案

我认为您可以使用维护操作 GetCollectionStatisticsOperation
它将为您提供具有属性 collections 的类 CollectionStatistics

操作定义位于:
https://github.com/ravendb/ravendb-python-client/blob/b2eccad9e183c8988bb2bed808e5b3807c8a4081/ravendb/documents/operations/statistics.py#L63

可以在此处找到调用维护操作的示例代码:
https://github.com/ravendb/ravendb-python-client/blob/b2eccad9e183c8988bb2bed808e5b3807c8a4081/ravendb/tests/operations_tests/test_maintenance_operations.py#L19

注意:该示例演示了发送另一个操作,
但是...遵循它并使用类似的东西:

self.store.maintenance.send(GetCollectionStatisticsOperation())

它应该返回您商店中定义的有关默认数据库的统计信息
统计 Prop 之一是 Collections

关于python - 使用 py-ravendb 列出 RavenDB 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74852776/

相关文章:

authentication - RavenDB:Windows 用户凭据不足以进行写访问

c# - 在 RavenDB 中通过接口(interface)使用多态查询

ravendb-studio - RavenDb 使用 RQL 添加属性

java - 用于 Wifi 状态的 Android Monkeyrunner 插件

python - 使用 if 语句使用范围的优雅方式?

python - 舍入到 pandas 数据框中最接近的最小值

python - 域名错误 [odoo 8 ]

asp.net-mvc - 过滤 Kendo UI MVC 网格时构建自定义谓词