gpt4 book ai didi

c# - 随机选择文档

转载 作者:行者123 更新时间:2023-12-03 00:08:03 25 4
gpt4 key购买 nike

我想知道是否有办法在CosmosDB(Microsoft Azure)中随机选择文档。

这是我的代码,我不知道在“Take(20)”之前添加什么:

public List<LeafBook> BooksList { get; private set; }

public async Task<List<LeafBook>> GetBookAsync()
{
try
{
// The query excludes completed TodoItems

var query = client.CreateDocumentQuery<LeafBook>(collectionLink, new FeedOptions { MaxItemCount = -1 })

.Take(20)
.AsDocumentQuery();

BooksList = new List<LeafBook>();
while (query.HasMoreResults)
{
BooksList.AddRange(await query.ExecuteNextAsync<LeafBook>());
}

}
catch (Exception e)
{
Console.Error.WriteLine(@"ERROR {0}", e.Message);
return null;
}
return BooksList;
}

最佳答案

kikis,正如 @David Makogon 在评论中所说,您可以关注 samplefeedback 链接在 cosmos db mongo api 中获取随机结果。

但是,cosmos db sql api 中没有这样的原生功能。因此,也许您需要采取解决方法。

您可以使用存储过程在cosmos db中实现此功能,请引用此blog .

在此解决方法中,最重要的是它可能会迭代整个集合,具体取决于执行时传递给存储过程的 filterString 的值。您应该确保 filterString 在数据库中尽可能轻量。

或者您可以在查询之前获取 20 个随机 NumberoftheBook 属性,并将其用于查询过滤器。

关于c# - 随机选择文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53933800/

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