Azure cosmosdb 使用所选FeedOptions时出现明显的查询错误

Azure cosmosdb 使用所选FeedOptions时出现明显的查询错误,azure-cosmosdb,Azure Cosmosdb,以下查询: •从c中选择不同的c.AccountId,其中c._irUnsearchable=c.AccountId的错误顺序 使用SQL document client 2.6.0版及以下选项针对Cosmos DB发布时: FeedOptions.EnableCrossPartitionQuery=true FeedOptions.MaxDegreeOfParallelism=-1 FeedOptions.MaxBufferedItemCount=[默认值] 导致错误的原因: System.A

以下查询:

•从c中选择不同的c.AccountId,其中c._irUnsearchable=c.AccountId的错误顺序

使用SQL document client 2.6.0版及以下选项针对Cosmos DB发布时:

FeedOptions.EnableCrossPartitionQuery=true

FeedOptions.MaxDegreeOfParallelism=-1

FeedOptions.MaxBufferedItemCount=[默认值]

导致错误的原因:

System.ArgumentException:Distict查询需要匹配的order by才能返回延续令牌。 如果您希望通过延续令牌为该查询提供服务,请以“按c.blah从c顺序中选择不同的值c.blah”的形式重写查询,并确保“c.blah”上有范围索引

这个问题在Cosmos DB emulator和服务中都可以看到。请注意,当从数据资源管理器向模拟器发出相同的查询时,该查询将成功,但未指定FeedOptions


你知道我们如何解决这个问题吗?

你能试着使用一个综合索引,看看是否能解决这个问题。检查了这一点,我相信这里的修复方法是在SELECT中包括c._irunserchable。请尝试让我知道这是否解决了它。谢谢,马克,谢谢你调查这件事。我将在本周晚些时候尝试您的建议,并让您知道它是如何工作的。Mark,在遵循您的建议后,我仍然看到相同的错误,请选择不同的c.AccountId,c._irunserchablefrom c,其中c._irunserchable=c.AccounttId的错误顺序。我无法理解的一点是,即使在设置相同的提要选项时,在使用资源管理器时也不会遇到错误。这可能与客户端版本有关吗?谢谢。您需要在查询中输入VALUE关键字。试试这个。从c中选择不同的值c.AccountId,其中c._irunserchable=false ORDER by c.AccountId您可以尝试使用复合索引,看看这是否解决了这个问题。检查了这一点,我相信这里的修复方法是在SELECT中包括c._irunserchable。请尝试让我知道这是否解决了它。谢谢,马克,谢谢你调查这件事。我将在本周晚些时候尝试您的建议,并让您知道它是如何工作的。Mark,在遵循您的建议后,我仍然看到相同的错误,请选择不同的c.AccountId,c._irunserchablefrom c,其中c._irunserchable=c.AccounttId的错误顺序。我无法理解的一点是,即使在设置相同的提要选项时,在使用资源管理器时也不会遇到错误。这可能与客户端版本有关吗?谢谢。您需要在查询中输入VALUE关键字。试试这个。从c中选择不同的值c.AccountId,其中c._irUnsearchable=按c.AccountId排序的错误顺序