gpt4 book ai didi

azure-cosmosdb - 文档数据库 : Get the first document

转载 作者:行者123 更新时间:2023-12-05 03:12:45 24 4
gpt4 key购买 nike

有没有一种有效的方法可以从查询中获取第一个文档?通常,这将使用带有 LINQ 收集的 FirstOrDefault() 或 SQL 中的 TOP

假设集合看起来像这样:

{
name: "John",
position: 3
},
{
name: "Mary",
position: 1
},
{
name: "Peter",
position: 2
}

我只需要检索具有最高值位置的单个文档。 IE。本例中的“Mary”文档。

使用 C# SDK,我必须执行如下操作:

Client.CreateDocumentQuery<T>(Collection.DocumentsLink)
.Where(somethingOtherCriteria);
.OrderByDescending(x => x.Position)
.AsEnumerable()
.FirstOrDefault());

这将检索集合中的所有文档(在应用相关过滤器之后),然后从列表中获取第一个。这仍然可能通过网络带来数千份不相关的文档。

是不是不能在服务器上执行FirstOrDefault()

最佳答案

一个选项是将最大响应大小设置为 1,并仅从查询迭代器中获取第一页:

var query = client.CreateDocumentQuery<Family>(collectionLink, "SELECT * FROM myCollection", new FeedOptions { MaxItemCount = 1 }).AsDocumentQuery();
var feedResponse = await query.ExecuteNextAsync<Family>();

关于azure-cosmosdb - 文档数据库 : Get the first document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com