Azure CosmosDB REST API忽略data explorer返回的结果

Azure CosmosDB REST API忽略data explorer返回的结果,azure,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我有一个相当大的cosmos数据库集合(大约150万条记录)。如果我在数据资源管理器中的索引字段上运行查询,例如: SELECT * FROM c WHERE ARRAY_CONTAINS(c.InnerArray, { "MyValue": 1234 }, true) 我收到了预期的结果 如果我对收到的REST API执行相同的查询: { “_rid”:“…”, “文件”:[…], “_计数”:0 } 这种差异是不同的。对于某些文档,我在portal data explorer中接收到它,

我有一个相当大的cosmos数据库集合(大约150万条记录)。如果我在数据资源管理器中的索引字段上运行查询,例如:

SELECT * FROM c WHERE ARRAY_CONTAINS(c.InnerArray, { "MyValue": 1234 }, true)
我收到了预期的结果

如果我对收到的REST API执行相同的查询:

{
“_rid”:“…”,
“文件”:[…],
“_计数”:0
}
这种差异是不同的。对于某些文档,我在portal data explorer中接收到它,对于其他文档,我只在data explorer中接收REST API

我已经缩小了一个差异,但我不确定“修复”是什么(假设这就是问题所在)

如果我从门户导出“每个分区查询指标(CSV)”,我可以看到通过REST api返回的文档位于“分区密钥范围id”0中。那些没有出现在REST api上的(但确实出现在门户中)在“分区密钥范围id”1中

我是否需要在RESTAPI上设置一些额外的配置或头文件?我设置请求头,包括
x-ms-documentdb-query-enablecrosspartition
,并在响应中接收空的延续令牌

附加说明
C#SDK(网关和直接)连接模式将返回REST API没有返回的文档。

使用REST API执行查询时,请确保您正在使用和验证
x-ms-continuation
标头。参考:

您可以迭代(发送更多请求),直到响应中没有返回延续令牌


SDK会有这种行为,这就是你看到这种差异的原因。这类似于迭代查询检查
HasMoreResults
FeedResponse

中的
ContinuationToken
属性。使用REST API执行查询时,请确保使用并验证
x-ms-continuation
标题。参考:

您可以迭代(发送更多请求),直到响应中没有返回延续令牌


SDK会有这种行为,这就是你看到这种差异的原因。这类似于迭代查询检查
HasMoreResults
FeedResponse
中的
ContinuationToken
属性。您是否正在使用Continuation Token(x-ms-Continuation)响应头@MatiasQuaranta似乎就是这样。我读了
{{token:null,…}}
,意思是没有延续,但实际上有一个,只是省略了x-ms-continuation头意味着这一点。如果你想把它写下来作为一个答案,我会将其设置为正确的/可能会添加一些内容你正在使用延续令牌(x-ms-continuation)响应头?@MatiasQuaranta似乎是这样的。我读到
{{token:null,…}}
的意思是没有延续,但实际上有一个,只有x-ms-continuation头的省略意味着这一点。如果你想把它写下来作为答案,我会把它设置为正确的/可能会添加一些内容