我正在查询我的 ravendb 实例。我的目标集合包含超过 30k 文档。我将 Pyravendb 与 Python 3 一起使用。
我正在使用以下代码查询我的索引:
result_ = self.store.database_commands.query(index_name="Raven/DocumentsByEntityName",
index_query=IndexQuery("Tag:MyCollection",total_size=128,skipped_results=start))
if len(result_['Results']) < 128:
return
start 是每次查询时递增 128 的偏移变量。 当我运行此代码时,结果的长度始终为 128,这会导致无限循环。
知道为什么它会这样吗?
最佳答案
问题出在我使用的参数上。应该使用的正确参数是 start = offset_that_you_want_to_skip 而不是 skipped_results=offset。
正确的代码如下:
result_ = self.store.database_commands.query(index_name="Raven/DocumentsByEntityName",
index_query=IndexQuery("Tag:MyCollection",total_size=128,skipped_results=0, default_operator=None,start=offset))
#blablabla
offset+=128
if len(result_['Results']) < 128:
return
关于python - ravendb python api,查询总是返回128,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42977481/