Azure cosmosdb 如何在不查询整个项目的情况下获取项目ID?

Azure cosmosdb 如何在不查询整个项目的情况下获取项目ID?,azure-cosmosdb,Azure Cosmosdb,我正在尝试使用下面的代码获取项目ID列表,而不是项目列表,但是我没有获取任何ID,尽管响应消息已将Count设置为预期的项目数。您能告诉我是否可以只获取没有项目内容的项目ID,以及如何获取?谢谢 string query = "select r.Id from root r where r.itemType = @itemType"; QueryDefinition queryDefinition = new QueryDefinition(query); queryDefi

我正在尝试使用下面的代码获取项目ID列表,而不是项目列表,但是我没有获取任何ID,尽管响应消息已将Count设置为预期的项目数。您能告诉我是否可以只获取没有项目内容的项目ID,以及如何获取?谢谢

string query = "select r.Id from root r where r.itemType = @itemType";
QueryDefinition queryDefinition = new QueryDefinition(query);
queryDefinition.WithParameter("@itemType", ItemType.Banana);

using (var feedIterator = container.GetItemQueryStreamIterator(queryDefinition))
{
while (feedIterator.HasMoreResults)
{
using (ResponseMessage responseMessage = await feedIterator.ReadNextAsync())
{
using (StreamReader streamReader = new StreamReader(responseMessage.Content))
{
using (JsonTextReader jsonTextReader = new JsonTextReader(streamReader))
{
JsonSerializer jsonSerializer = new JsonSerializer();
JObject content = jsonSerializer.Deserialize<JObject>(jsonTextReader);
if (content.ContainsKey("Documents"))
{
foreach (var doc in content["Documents"])
{
// why doc is empty?
}
}
}
}
                    }
                }
            }
string query=“从根r中选择r.Id,其中r.itemType=@itemType”;
QueryDefinition QueryDefinition=新的QueryDefinition(查询);
queryDefinition.WithParameter(“@itemType”,itemType.Banana);
使用(var feedIterator=container.GetItemQueryStreamIterator(queryDefinition))
{
while(feedIterator.HasMoreResults)
{
使用(ResponseMessage ResponseMessage=await-feedIterator.ReadNextAsync())
{
使用(StreamReader StreamReader=新StreamReader(responseMessage.Content))
{
使用(JsonTextReader JsonTextReader=newjsontextreader(streamReader))
{
JsonSerializer JsonSerializer=新的JsonSerializer();
JObject content=jsonSerializer.Deserialize(jsonTextReader);
if(content.ContainsKey(“文件”))
{
foreach(内容[“文档”]中的var文档)
{
//为什么doc是空的?
}
}
}
}
}
}
}

若要在每个Id都不是自己的文档的情况下返回Id,请将查询更改为从根r中选择值(r.Id),其中r.itemType=@itemType

谢谢标记。我试过了,但是得到了0个ID,所以上面可能有语法问题。我也试过了,但结果是一样的。从根r中选择值r.Id,其中r.itemType=@itemType在数据资源管理器中尝试您的查询,看看是否在那里得到结果。我在数据资源管理器中尝试过。结果相同;0个结果,在任意位置均未显示错误消息。文档db sdk(2.7)支持该查询。请告诉我cosmos sdk(3.12)是否也支持它,如果不支持,那么什么是获取ID的有效方法。好的,我在查询中发现了一个问题。这是《身份证》中的一个案例问题。它应该是“id”(小写“i”)。现在可以了。谢谢你,马克!