使用另一收藏集中的一个收藏中的数据Firestore Android

问题描述

enter image description here

enter image description here

谢谢

大家好,我解释一下,我有2个收藏集。

1个帖子

2个用户

在“用户”集合中,我还有另一个收藏夹

我要创建的是“收藏夹”选项卡,用户可以在其中单击典型的心脏按钮,并将他添加到收藏夹的帖子添加到收藏夹。

发生的事情是,通过单击“收藏夹”按钮,帖子的文档ID被存储给用户。那已经被编程了。我不知道如何使用存储在收藏夹集合中的数据,如何在“帖子”集合中进行过滤,并仅在该选项卡中向用户显示用户已添加到收藏夹的帖子。

我有以下代码来携带收藏夹数据。

myRef.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful())
                {
                    List<String> list = new ArrayList<>();
                    for (QueryDocumentSnapshot documentSnapshot : Objects.requireNonNull(task.getResult())){
                        list.add(documentSnapshot.getId());
                        System.out.println("Rew es: "+ list.toString());

通过以下代码,我收到了用户保存的整个集合的列表,详细信息是我不知道如何在查询中使用它来向我显示信息。

Query query = mFirestore.collection("Post")
                        ;

                        FirestoreRecyclerOptions<activos> options = new FirestoreRecyclerOptions.Builder<activos>()
                                .setQuery(query,activos.class).build();

我不确定是否需要引入整个收藏夹,或者是否可以逐项收集。我真的被卡在这里了。

我也不知道这是否是实现收藏夹标签的最佳方法。

作为一个奇怪的事实,我将“收藏夹”文档的ID,已保存的帖子的ID放置在其中,并在另存为“收藏夹ID”的字段中放置了POST的ID。

>

在此先感谢您的帮助,我留下了完整的代码供您检查

您认为这是进行“收藏夹”活动的最佳方法吗?

或有其他建议...

解决方法

mRef.orderByChild("idFromFireBase").equalTo("idLike").addValueEventListener(new ValueEventListener() {list.clear;
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {for (DataSnapshot datas : dataSnapshot.getChildren()) {
                list.add(datas.getValue(Favorite.class);
            }
            Toast.makeText(this,keys,Toast.LENGTH_LONG).show(); //Should work!!
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...