gpt4 book ai didi

firebase - 按整数对文档进行排序Firestore Kotlin

转载 作者:行者123 更新时间:2023-12-02 13:42:40 25 4
gpt4 key购买 nike

我想按img降序对文档进行排序。
我试图在Firebase控制台中添加索引。这是“索引”标签中的屏幕截图:user Ascending img descending

这是我的数据库结构:
database structure

这是我的代码:

db.collection("images").whereEqualTo("user", uid).orderBy("img", Query.Direction.DESCENDING).get()
.addOnSuccessListener {
if (it.isEmpty) {
Log.i("Image", "Sorry, no image")
} else {
for (task in it) {
Log.i("Image", task.get("img").toString())
}
}
}

这是日志:
I/Image: 2
I/Image: 1
I/Image: 3
I/Image: 4
I/Image: 6
I/Image: 7

我究竟做错了什么?

最佳答案

请注意,如documentation所述,在您所遇到的行为背后可能有两种解释:

  1. If you have a filter with a range comparison (<, <=, >, >=), your first ordering must be on the same field

  2. You cannot order your query by any field included in an equality (=) or in clause.


基于文档中提供的以下代码段:
citiesRef.whereGreaterThan("population", 100000).orderBy("population").limit(2)
您可以尝试以下操作(但是由于2,我不确定是否可以使用):
db.collection("images").whereEqualTo("user", uid).orderBy("user").orderBy("img", Query.Direction.DESCENDING).get()
.addOnSuccessListener {
if (it.isEmpty) {
Log.i("Image", "Sorry, no image")
} else {
for (task in it) {
Log.i("Image", task.get("img").toString())
}
}
}

关于firebase - 按整数对文档进行排序Firestore Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62020600/

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