RavenDB 4&x2B;具有不同on字段的分页查询

RavenDB 4&x2B;具有不同on字段的分页查询,ravendb,paging,Ravendb,Paging,我已经在4.2.0版本中安装了客户端和服务器 我的“产品”文档类似于: { "Id": 2 "AggregatedId": 1, // Other fields for filters } var res = session.Advanced.DocumentQuery<Products_ByIndex.ReduceResult, Products_ByIndex>() .WhereEquals("CategoryId

我已经在4.2.0版本中安装了客户端和服务器

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

{
    "Id": 2
    "AggregatedId": 1,
    // Other fields for filters
}
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();
其中,聚合Id是一个字段,我在该字段上执行一个distinct:我希望检索匹配特定条件的分页DISTINCAGGRAGEGREDID

我使用的索引是而不是扇出索引,是一个法线贴图索引,具有唯一的特征:

Store("AggregatedId", FieldStorage.Yes);
如中所述,在存储要应用distinct的字段之前,我应该能够在不使用SkippedResults信息的情况下执行分页

我可以毫无问题地查询第一页,但是当我查询第二页和更高的页面时,我开始注意到我得到的结果包括已经在第一页上的某些结果。此外,结果的数量也不正确,我得到的行数比预期的多(例如,32个项目匹配一个过滤器,分页25,但我在第一页和第二页得到25个项目…)

我正在构建的查询大致如下:

{
    "Id": 2
    "AggregatedId": 1,
    // Other fields for filters
}
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();
var res=session.Advanced.DocumentQuery()
其中等于(“类别”,1)
.WhereEquals(“BrandId”,478)
.OrderBy(“aggregateId”)
.Statistics(out QueryStatistics)
.Skip(25)
.Take(25)
.SelectFields(“aggregateId”).Distinct()
.ToList();
我错过什么了吗