我在项目中使用Ionic和Firebase。
我需要按性别过滤用户,并且由于数据过多,我还必须实现分页以便于浏览。 我已经处理此问题很长时间了,但仍然找不到有效的解决方案。
我的数据库结构是:
我的代码是:
ref = this.afDB.database.ref('Users').orderByChild('Gender').equalTo('male').orderByChild('Id').startAt(lastItemKey).limitToFirst(10)
答案 0 :(得分:1)
同一查询不能多次调用orderBy...()
。参见Query based on multiple where clauses in Firebase
但是您可以使用equalTo()
的两参数版本来完成所需的操作:
db.ref('Users').orderByChild('Gender').equalTo('male', lastItemKey).limitToFirst(10)
当多个子节点的lastItemKey
等于Gender
时,将使用此代码段中的male
来确定从哪个节点开始。