如何在 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() 不需要索引。这就是为什么当您评论一个或另一个方法调用时它起作用的原因。