如何在 Firestore RecyclerView (Firestore UI) 中过滤和排序我的文档?
How can I filter and sort my documents in Firestore RecylerView (Firestore UI)?
我想像下面的代码一样对我的文档进行排序和过滤。但它没有用。实际上,当我添加一个新文档时,我无法实时看到它。
val query: Query = FirebaseFirestore.getInstance()
.collection("Lessons")
.whereEqualTo("tag",tag)
.orderBy("order",Query.Direction.ASCENDING)
val options: FirestoreRecyclerOptions<Model> = FirestoreRecyclerOptions.Builder<Model>()
.setQuery(query, Model::class.java)
.build()
adapter = KonuRecyclerAdapter(options,tag,konuBasligi)
binding?.konularAnaRecyclerView?.adapter = adapter
但是当我评论“whereEqualto”行时,我可以看到新文档(新添加)。之后,如果我再次取消注释这一行,我也可以看到这个文档。我希望当我添加新文档时它会实时显示。请帮我解决这个问题。你可以警告我我犯的任何错误。任何帮助将不胜感激!!!
据我所知,您正在尝试使用包含以下调用的查询:
.whereEqualTo("tag",tag)
和
.orderBy("order",Query.Direction.ASCENDING)
在不同的领域。这种查询需要索引。要查看如何解决此问题,请参阅以下 post:
中的回答
但是,在没有排序的情况下调用 .whereEqualTo()
或在没有 .whereEqualTo()
调用的情况下调用 .orderBy()
不需要索引。这就是为什么当您评论一个或另一个方法调用时它起作用的原因。
我想像下面的代码一样对我的文档进行排序和过滤。但它没有用。实际上,当我添加一个新文档时,我无法实时看到它。
val query: Query = FirebaseFirestore.getInstance()
.collection("Lessons")
.whereEqualTo("tag",tag)
.orderBy("order",Query.Direction.ASCENDING)
val options: FirestoreRecyclerOptions<Model> = FirestoreRecyclerOptions.Builder<Model>()
.setQuery(query, Model::class.java)
.build()
adapter = KonuRecyclerAdapter(options,tag,konuBasligi)
binding?.konularAnaRecyclerView?.adapter = adapter
但是当我评论“whereEqualto”行时,我可以看到新文档(新添加)。之后,如果我再次取消注释这一行,我也可以看到这个文档。我希望当我添加新文档时它会实时显示。请帮我解决这个问题。你可以警告我我犯的任何错误。任何帮助将不胜感激!!!
据我所知,您正在尝试使用包含以下调用的查询:
.whereEqualTo("tag",tag)
和
.orderBy("order",Query.Direction.ASCENDING)
在不同的领域。这种查询需要索引。要查看如何解决此问题,请参阅以下 post:
中的回答但是,在没有排序的情况下调用 .whereEqualTo()
或在没有 .whereEqualTo()
调用的情况下调用 .orderBy()
不需要索引。这就是为什么当您评论一个或另一个方法调用时它起作用的原因。