gpt4 book ai didi

database - 解析 orQuery 的限制

转载 作者:行者123 更新时间:2023-11-30 13:46:53 26 4
gpt4 key购买 nike

我很难在 Parse 上找到任何可以回答我的问题的文档。这是我需要的示例。

let colorQuery1 = PFQuery(classname: "colors")
colorQuery1.whereKey("color", equalTo: red)

let colorQuery2 = PFQuery(classname: "colors")
colorQuery2.whereKey("color", equalTo: blue)

let colorQuery3 = PFQuery(classname: "colors")
colorQuery3.whereKey("color", equalTo: green)

let mainColorQuery = PFQuery.orQueryWithSubqueries([colorQuery1, colorQuery2, colorQuery3])
mainColorQuery.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
// retrieve data
}

我的问题是,我想从前两个查询中检索大约 15 个项目,然后从最后一个查询中检索大约 150 个项目。这是不允许的,因为我无法对子查询设置限制。我也很想知道这种情况下查询的默认限制。在我提供的示例中,如果有 1000 个红色对象,mainQuery 将仅返回 100 或 1000 个红色对象,然后第二个和第三个查询留空?请帮我找到一种限制子查询的方法。

最佳答案

所有查询的默认限制为 100,最大限制为 1000。对组合到 > 1k 个结果的多个查询进行“或”运算将生成与查询传递顺序相关(我认为)的 1k 个子集。

但就您而言,您可以通过将 OR 查询替换为使用 containedIn 指定析取的单个查询来获得更多控制...

let colors = ["red", "blue", "green"]
query.whereKey("color", containedIn: colors)
query.limit = 1000 // still the max

通过这个单一查询,您可以添加额外的约束来限制结果计数,和/或通过跳至超过 1k 个结果的页面来重复执行它。

关于database - 解析 orQuery 的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817625/

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