有人知道如何使用Microsoft.Azure.Comos.CosmosClient获取标量值吗
我在网上找过了,找不到任何例子。
我想要做的就是能够执行这样的查询
SELECT value COUNT(c._id)
FROM c
WHERE c._ts > @timestamp在CosmosClient或Container类上似乎都没有任何函数来处理这种类型的查询。
谢谢
发布于 2021-02-05 00:08:40
您可以执行以下操作:
var container = client.GetContainer("test", "test");
var qry = container.GetItemQueryIterator<int>("SELECT VALUE COUNT(1) FROM c");
int count;
while (qry.HasMoreResults)
{
count = (await qry.ReadNextAsync()).SingleOrDefault();
}它之所以有效,是因为您从Cosmos REST API返回了一个json整数数组。SDK会对其执行JsonConvert.Deserialize<int> (或类似操作),您知道结果就是您要求的单个值。
也许有一种更好的方法,但我也没有在v3中看到任何标量方法。
https://stackoverflow.com/questions/66048417
复制相似问题