gpt4 book ai didi

azure - CosmosDB 分页未返回正确的页面大小

转载 作者:行者123 更新时间:2023-12-02 06:45:53 33 4
gpt4 key购买 nike

这是我的 CosmosDB 数据模型:

{
"id": "100",
"BookID": "100",
"PublishDate": "2014-02-23",
"Authors": [
{
"FirstName": "Jerry",
"Title": "Writer"
},
{
"FirstName": "Sally",
"Title": "CEO"
},
{
"FirstName": "Tom",
"Title": "COO"
}
] }

我知道我们可以在 Book 对象级别上进行分页。例如,我可以对 SELECT * FROM c 进行查询并设置页码和页面大小。

但是,我可以在子对象级别进行分页吗?在这种情况下,在作者级别?

我问这个问题是因为我在 Book 相关查询和 Authors 相关查询上使用了完全相同的代码。 Book 查询在页码和页面大小方面具有正确的结果。但 Authors 查询始终返回数组中的所有项目。 Authors 的查询是:

SELECT c.Authors FROM c WHERE c.BookID = "100"

结果不正确,页面大小 = 1,页码 = 1。最终返回所有 3 位作者。

所以我在想,也许在 Cosmosdb 中它使用 Book 作为对象,而分页仅在 Book 级别起作用?这就是为什么作者级别的分页不起作用?

最佳答案

我认为对分页存在一些误解:分页与返回文档相关,而不是文档的一部分。

如果您要求数组元素,这就是您将得到的。您将获得完整的数组,而不是子集。现在,如果您有 100 个文档,每个文档都具有相同的 BookID=100,那么分页将影响这 100 个文档中返回的数量。

关于azure - CosmosDB 分页未返回正确的页面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51828764/

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