RavenDB 4+分页查询,具有不同的字段

时间:2019-06-10 13:18:41

标签: ravendb paging

我同时拥有4.2.0版的客户端和服务器。

我的“产品”文档类似于:

{
    "Id": 2
    "AggregatedId": 1,
    // Other fields for filters
}

在汇总ID所在的字段上,我要执行不同的操作:我想检索符合某些条件的分页distinc AggregatedId。

我使用的索引是扇出索引,它是具有唯一特征的法线地图索引:

Store("AggregatedId", FieldStorage.Yes);

并按照Raven documentation中的说明进行操作,直到存储要应用唯一性的字段为止,我应该能够执行分页而不使用SkippedResults信息。

我可以毫无问题地查询第一页,但是当我要求第二页和上一页时,我开始注意到我得到的结果包括第一页上已经存在的某些结果。同样,结果的数量也不正确,我得到的行比预期的多(例如,与过滤器匹配的32个项目,分页为25,在第一和第二页中仍然有25个项目...)。

我正在构建的查询大致类似于:

var res = session.Advanced.DocumentQuery<Products_ByIndex.ReduceResult, Products_ByIndex>()
                    .WhereEquals("CategoryId", 1)
                    .WhereEquals("BrandId", 478)
                    .OrderBy("AggregatedId")
                    .Statistics(out QueryStatistics stats)
                    .Skip(25)
                    .Take(25)
                    .SelectFields<Products_ByIndex.ReduceResult>("AggregatedId").Distinct()
                    .ToList();

我想念什么吗?

0 个答案:

没有答案
相关问题