gpt4 book ai didi

javascript - Firebase 错误 - 提供给 Query.startAt() 的参数过多

转载 作者:行者123 更新时间:2023-12-04 13:11:57 27 4
gpt4 key购买 nike

我试图弄清楚为什么会出现此错误

FirebaseError: Too many arguments provided to Query.startAt(). The number of arguments must be less than or equal to the number of Query.orderBy() clauses


使用此代码:
const query = firebase
.getDatabase()
.collection("users")
.where("premium", "==", true) // get premium users
.where("totalPosts", ">", 0); // that have posted some music


...

return query
.startAt(0)
.limit(1)
.get()
.then((snapshot) => {
...
);
如您所见,我正在尝试吸引发布了一些音乐的高级用户。我使用的是 where 和 startAt 子句,而不是 orderBy。
我究竟做错了什么?
谢谢!

最佳答案

仔细阅读错误信息:

The number of arguments must be less than or equal to the number of Query.orderBy() clauses


您的代码根本没有显示任何 orderBy 子句,因此本例中的数字为 0。但是您向 startAt() 提供了 1 个参数.具体来说,您实际上应该提供一个 orderBy 子句。它必须与您的范围查询的字段匹配:
const query = firebase
.getDatabase()
.collection("users")
.where("premium", "==", true) // get premium users
.where("totalPosts", ">", 0) // that have posted some music
.orderBy("totalPosts")
然后,您的分页应该重复完全相同的查询,只是这次用 startAt 告诉它在哪里接:
return query.startAt(0);

关于javascript - Firebase 错误 - 提供给 Query.startAt() 的参数过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64199007/

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