Firestore从集合中查询多个文档

马亚当

在Firestore中,我有一个用户集合,并且在每个用户文档中存储了一个名为“收藏夹”的集合,其中包含标记为“收藏夹”(存储)的文档的ID。

例如:

in users/2pfV9FbtwPYFmQHz3KU2BKmhMr82/favorites 
I have multiple documents such as 7F9COWGW3Ww8FWiH8VTA and 8b8WogHzpqCkw0ZxMjOw

我想查询一个查询,该查询从一个名为stores的集合中返回所有具有相同docID的文档,其中包含这两个ID以及更多(不在收藏夹列表中)

A similar query will be
SELECT * FROM stores WHERE docID EXISTS IN favorites

我可以采取另一种方法来获取两个集合并手动对其进行过滤,但是我使用的是Firebase RecyclerView适配器,该适配器显示的所有数据均基于查询,这将使事情更加高效。

如何取得这样的结果?让我知道是否需要进一步的解释

马亚当

我上述问题的可能答案是从“收藏夹”集合中获取所有文档ID并将它们放入列表中,然后使用whereIn函数将商店收藏集ID与“收藏夹”列表ID结合在一起

主要问题是使用Firebase RecyclerView时完全失去实时更新功能

favoriteList = new ArrayList<>();
        favCollection.get() //get user favorites
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {
                            for (QueryDocumentSnapshot document : task.getResult()) {
                                favoriteList.add(0, document.getId());
                                Log.d("Favorites", document.getId() + " => " + document.getData());
                            }
                            query = storesCollection.whereIn(FieldPath.documentId(), favoriteList).orderBy("storeName");//FieldPath.documentId gives documents IDs in stores collection which will be filtered with the provided list
                            attachRecyclerViewAdapter();//Initiate adapter after favorites list completion
                        } else {
                            Log.d("Favorites", "Error getting documents: ", task.getException());
                        }
                    }
                });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在子集合Firestore中查询文档

来自分类Dev

从firestore的文档查询集合中创建列表

来自分类Dev

对Firestore子集合中的文档进行通配符查询

来自分类Dev

Firestore:如何查询集合中的多个动态值

来自分类Dev

Firestore查询多个过滤器以在本机中检索集合

来自分类Dev

Firestore查询文档的子集合

来自分类Dev

Firestore / Flutter:查询文档的子集合

来自分类Dev

查询 FireStore 集合以获取文档密钥

来自分类Dev

Swift firestore 同时获取多个集合的文档?

来自分类Dev

在Firestore中的集合内查询唯一文档

来自分类Dev

在多个文档ID中的Firestore

来自分类Dev

在Firestore中访问文档内部的集合

来自分类Dev

删除Firestore集合中的所有文档

来自分类Dev

如何获取firestore集合中的文档数

来自分类Dev

React Native Expo:如何使用Firebase查询集合中多个文档中的选择字段?

来自分类Dev

Firebase查询,从单个集合中获取多个文档,每个文档中的doc.id等于单独列表中的id

来自分类Dev

我想使用 java 在 mongo db 的集合中更新具有多个查询的文档

来自分类Dev

MongoDB查询以从集合中删除重复的文档

来自分类Dev

构建Firestore查询以同时保存文档和集合

来自分类Dev

查询一次 Firestore 集合并使用文档数据

来自分类Dev

集合文档中具有随机ID的Firestore嵌套文档

来自分类Dev

检查多个文档是否存在ID Firestore集合

来自分类Dev

在Mongodb中查询集合的子文档中的子文档

来自分类Dev

Flutter Firestore:集合中的特定文档 (Firestore.collection.where)

来自分类Dev

当某些恶意用户查询数据时,如何限制从Firestore中庞大集合中读取的文档数量?

来自分类Dev

Firestore集合查询在Flutter中作为流

来自分类Dev

Firestore查询中的Flutter传递文档ID

来自分类Dev

在 firestore 中返回带有查询的文档

来自分类Dev

在特定的FireStore集合中执行集合组查询

Related 相关文章

  1. 1

    在子集合Firestore中查询文档

  2. 2

    从firestore的文档查询集合中创建列表

  3. 3

    对Firestore子集合中的文档进行通配符查询

  4. 4

    Firestore:如何查询集合中的多个动态值

  5. 5

    Firestore查询多个过滤器以在本机中检索集合

  6. 6

    Firestore查询文档的子集合

  7. 7

    Firestore / Flutter:查询文档的子集合

  8. 8

    查询 FireStore 集合以获取文档密钥

  9. 9

    Swift firestore 同时获取多个集合的文档?

  10. 10

    在Firestore中的集合内查询唯一文档

  11. 11

    在多个文档ID中的Firestore

  12. 12

    在Firestore中访问文档内部的集合

  13. 13

    删除Firestore集合中的所有文档

  14. 14

    如何获取firestore集合中的文档数

  15. 15

    React Native Expo:如何使用Firebase查询集合中多个文档中的选择字段?

  16. 16

    Firebase查询,从单个集合中获取多个文档,每个文档中的doc.id等于单独列表中的id

  17. 17

    我想使用 java 在 mongo db 的集合中更新具有多个查询的文档

  18. 18

    MongoDB查询以从集合中删除重复的文档

  19. 19

    构建Firestore查询以同时保存文档和集合

  20. 20

    查询一次 Firestore 集合并使用文档数据

  21. 21

    集合文档中具有随机ID的Firestore嵌套文档

  22. 22

    检查多个文档是否存在ID Firestore集合

  23. 23

    在Mongodb中查询集合的子文档中的子文档

  24. 24

    Flutter Firestore:集合中的特定文档 (Firestore.collection.where)

  25. 25

    当某些恶意用户查询数据时,如何限制从Firestore中庞大集合中读取的文档数量?

  26. 26

    Firestore集合查询在Flutter中作为流

  27. 27

    Firestore查询中的Flutter传递文档ID

  28. 28

    在 firestore 中返回带有查询的文档

  29. 29

    在特定的FireStore集合中执行集合组查询

热门标签

归档