gpt4 book ai didi

c# - Cosmo Sql Db - 使用连续 token 查询数据永远不会完成

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

我的数据库包含来自由租户 ID 标识的多个数据源的数据。虽然一个租户拥有数百万条记录,但另一个租户只有 75 条记录,如下面的屏幕截图 enter image description here 所示。

当我使用以下代码查询数据时

  var count = continuationToken?.Count ?? ContinuationToken.DefaultPageCount;
var feedOptions = new FeedOptions
{
EnableCrossPartitionQuery = true,
MaxItemCount = count,
RequestContinuation = continuationToken?.NextRowKey
};

var query = sortByAscending
? _client.CreateDocumentQuery<T>(_collection.DocumentsLink, feedOptions).Where(filter).OrderBy(order).AsDocumentQuery()
: _client.CreateDocumentQuery<T>(_collection.DocumentsLink, feedOptions).Where(filter).OrderByDescending(order).AsDocumentQuery();

var feedResponse = await query.ExecuteNextAsync<T>();
var items = feedResponse.AsEnumerable().ToList();
var nextPageToken = feedResponse.ResponseContinuation;

return new ContinuationTokenData<T>(items, items.Count, nextPageToken, count);

过滤器位于租户 ID 上。前 2 页(每页 25 条记录)的数据很好地返回给租户。然而,当到达最后 25 条记录时,延续标记不断重复旧值,如下所示 enter image description here

您知道如何修复这个问题还是这是一个 CosmoDb 错误?谢谢

最佳答案

当 token 为 null 时,它实际上意味着没有继续(如请求 2 和 4 中所示)。

如果您发送 FeedOptions RequestContinuation = null ,它将始终返回第一页。

关于c# - Cosmo Sql Db - 使用连续 token 查询数据永远不会完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50617003/

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