相关疑难解决方法(0)

如何在Cloud Firestore中使用文档ID执行集合组查询

几天前,由于Firestore显然具有更灵活的查询功能,我将应用程序帖子从实时数据库移至了Cloud Firestore。我一直在修改我的代码以将Firestore与新数据库一起使用。现在我遇到了一个问题。如何检索“帖子”(Posts)集合中包含“喜欢”(Likes)集合且包含特定命名的文档的每个文档?我不知道这是否有意义,所以这是展示问题的图像: 在此处输入图片说明

我有一个可查询的Firebase实时数据库查询,但无法弄清楚如何使用Firestore进行查询。有可能还是必须更改数据库的结构?如果必须更改结构,那么获得相同结果的最便捷方法是什么?

android firebase google-cloud-firestore

8
推荐指数
1
解决办法
733
查看次数

获取集合 startAfter documentID

有没有办法在 documentID 之后获取文档,例如

private fun fetchCollectoionnAfterDocumentID(limit :Long){

        val db = FirebaseFirestore.getInstance()
        var query:Query = db.collection("questionCollection")
            .startAfter("cDxXGLHlP56xnAp4RmE5") //
            .orderBy("questionID", Query.Direction.DESCENDING)
        .limit(limit)

        query.get().addOnSuccessListener {
            var questions = it.toObjects(QuestionBO::class.java)
            questions.size
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想在给定的Document ID之后获取排序的问题。我知道我可以使用DocumentSnapShot. 为了第二次或在应用程序恢复后获取,我必须将其保存DocumentSnapshot在首选项中。

可以在文档 ID 之后获取吗?

startAfter - > cDxXGLHlP56xnAp4RmE5

编辑 我知道我可以使用lastVisible DocumentSnapshot做到这一点。但我必须将lastVisible DocumentSnapshot保存在sharedPreference.

当应用程序首次启动时,从questionCollection中获取 10 个问题。下次必须在这些之后再提取 10 个问题lastVisible。因此,为了获取下一个 10,我必须将 DocumentSnapshot 对象保存在 sharedPreference 中。在看到我的数据库结构后建议我一个更好的方法。

还有一件事 questionID 与文档参考 ID 相同。

在此处输入图片说明

kotlin firebase google-cloud-firestore

2
推荐指数
2
解决办法
1340
查看次数