Azure cosmosdb DocumentDb-不支持期望从聚合函数获得完整结果的查询

Azure cosmosdb DocumentDb-不支持期望从聚合函数获得完整结果的查询,azure-cosmosdb,Azure Cosmosdb,当我对DocumentDb发出linq计数时。 第一个POST web请求导致400个错误请求 请求json: {"query":"SELECT VALUE Count(1) FROM root WHERE ((((root[\"docType\"] = \"Whatever\") AND (root[\"field1\"] = false)) AND (root[\"field2\"] = true)) AND (root[\"field3\"] = 1

当我对DocumentDb发出linq计数时。 第一个POST web请求导致400个错误请求

请求json:

{"query":"SELECT VALUE Count(1) FROM root 
    WHERE ((((root[\"docType\"] = \"Whatever\") 
    AND (root[\"field1\"] = false)) 
    AND (root[\"field2\"] = true)) 
    AND (root[\"field3\"] = 1)) "}
{"query":"SELECT VALUE [{\"item\": Count(1)}]\r\nFROM root\r\n
    WHERE ((((root[\"docType\"] = \"Whatever\") 
    AND (root[\"field1\"] = false)) 
    AND (root[\"field2\"] = true)) 
    AND (root[\"field3\"] = 1))"}
信息: 不支持期望从聚合函数获得完整结果的查询

这之后是一个获取分区键范围

然后是另一个针对计数查询的POST web请求,该请求有效:

请求json:

{"query":"SELECT VALUE Count(1) FROM root 
    WHERE ((((root[\"docType\"] = \"Whatever\") 
    AND (root[\"field1\"] = false)) 
    AND (root[\"field2\"] = true)) 
    AND (root[\"field3\"] = 1)) "}
{"query":"SELECT VALUE [{\"item\": Count(1)}]\r\nFROM root\r\n
    WHERE ((((root[\"docType\"] = \"Whatever\") 
    AND (root[\"field1\"] = false)) 
    AND (root[\"field2\"] = true)) 
    AND (root[\"field3\"] = 1))"}
我是否在这里做了一些错误/愚蠢的事情,或者这是documentDb的预期行为

谢谢

多纳尔

不支持期望从聚合函数获得完整结果的查询

我做了一个测试,如果
x-ms-documentdb-Query-iscontinuationexpected
请求头设置为false,则会出现相同的错误“不支持从聚合函数获得完整结果的查询”

x-ms-documentdb-query-iscontinuationexpected
请求头设置为True,请求为ok


请捕获您的请求并检查
x-ms-documentdb-query-iscontinuationexpected
request header的实际值。

嗨,Fred,我忘了提到我正在使用DocumentClient创建查询,而不是直接进行REST调用。代码大致为:var query=documentClient.CreateDocumentQuery(collectionUri);。其中(doc=>doc.field1==“MyTypeName”);int count=await query.CountAsync();我检查了标题,第一次调用的x-ms-documentdb-query-iscontinuationexpected为False。在第二次调用中,没有指定header,但是指定了x-ms-documentdb-partitionkeyrangeid,我猜它来自第一次调用之后的调用。谢谢,多纳尔