首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CosmosDB使用CosmosClient在C#中获取标量值

CosmosDB使用CosmosClient在C#中获取标量值
EN

Stack Overflow用户
提问于 2021-02-04 23:13:57
回答 1查看 338关注 0票数 1

有人知道如何使用Microsoft.Azure.Comos.CosmosClient获取标量值吗

我在网上找过了,找不到任何例子。

我想要做的就是能够执行这样的查询

代码语言:javascript
复制
SELECT value COUNT(c._id) 
FROM c 
WHERE c._ts > @timestamp

CosmosClientContainer类上似乎都没有任何函数来处理这种类型的查询。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 00:08:40

您可以执行以下操作:

代码语言:javascript
复制
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中看到任何标量方法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66048417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档