我在我的项目中使用CosmosDB(Azure documentDB),用Python 3编写 .
我一直在寻找一段时间,但我无法找到如何查询我的表 . 我已经看到了一些示例代码,但我没有看到如何查询的示例...我所能做的就是获取所有文档(当我的数据库大于80GB时不理想) .
GitHub repo显示了一组非常小的数据库和集合操作:https://github.com/Azure/azure-documentdb-python/blob/master/samples/CollectionManagement/Program.py
并且following SO帖子显示了如何阅读所有文档...但不是如何执行查询,如"WHERE = X;"
如果有人能指出我正确的方向,并且可能提供一个展示如何运行查询的示例,我真的很感激 .
2 回答
根据我的理解,我想您想知道如何使用Python在Documentua API的Azure CosmosDB上检索文档来执行类似SQL的查询,请参阅下面的代码here .
options = {}
options ['enableCrossPartitionQuery'] = True
options ['maxItemCount'] = 2
result_iterable = client.QueryDocuments(collection ['_ self'],query,options)
results = list(result_iterable);
打印(结果)
上面的代码使用方法QueryDocuments .
如有任何疑虑,请随时告诉我 .
更新:结合我链接的其他SO线程的示例代码,如下所示 .
我最近遇到了类似的问题 . 您可以通过调用fetch_next_block()来获取块(而不是整个查询集) .