如何在firebase中检索子(自动增量)名称

Posted

技术标签:

【中文标题】如何在firebase中检索子(自动增量)名称【英文标题】:How to retrieve child (auto-increment) name in firebase 【发布时间】:2021-12-26 14:12:37 【问题描述】:

更新: recyclerview , detail

我怎样才能检索孩子“产品”的孩子! 我想在 RecyclerView 中显示。

这是我在 Firebase 中保存数据的代码:

long OrderNum = 1;

DatabaseReference newPost = reference.child(refernce);
newPost.child("refernce").setValue(refernce);
newPost.child("nompdv").setValue(nompdv);
newPost.child("etat").setValue(etat);
newPost.child("datecommande").setValue(datecommande);
newPost.child("user_id").setValue(uid);

DatabaseReference newOrder = reference.child(refernce).child("produit");
newOrder.child(produitcommande).setValue(qntcommande);

【问题讨论】:

那么你需要produitcommande1和2的值吗? 是的,可以多3,4,5... 而你只对获取produitcommande1、2等的值或所有字段的值感兴趣,包括datecommande、etat等。 我已经在 recyclerview 中获得了其他(etat、nompdv..)。现在,当我单击 recyclerview 中的项目时,我将所有数据(datecommande、etat、nompdv ...)传递给另一个活动,但我无法检索 produitcommande 1、2、3 .... 获取该数据有什么问题?为什么收不到? 【参考方案1】:

由于可以有多个 produitcommande1、produitcommande2 等,更可行的结构是在 Map 中添加产品,如下所示:

Firebase-root
  |
  --- commande
        |
        --- KAKJQBUX
              |
              --- datecommande: "10-11-2021 15:15"
              |
              --- produitcommande
                    |
                    --- D2: true
                    |
                    --- D3: true

通过这种方式,您可以添加任意数量的产品。要读取它们,只需将节点作为 Map 对象获取并通过记录将其集成并仅获取键。如果您想将produitcommande 作为类中的字段,只需将其添加为 Map

根据你上一条评论:

客户要定义每件产品的数量,我该怎么做呢?

Firebase-root
  |
  --- commande
        |
        --- KAKJQBUX
              |
              --- datecommande: "10-11-2021 15:15"
              |
              --- produitcommande
                    |
                    --- D2: 2
                    |
                    --- D3: 5

【讨论】:

嘿,我还在尝试通过将产品放入地图来修复它 还有一个问题,客户要定义每个产品的数量,我该怎么办? 不是添加true 的值,而是添加我更新的答案中的相应数量。现在可以了吗? 我从未使用过“地图”方法,所以我会尝试并告诉你答案。我还通过添加图片来更新帖子,你能告诉我哪种结构最好!请在我的两个建议和你的建议之间!! 好的,我会的,谢谢你的帮助

以上是关于如何在firebase中检索子(自动增量)名称的主要内容,如果未能解决你的问题,请参考以下文章

检索子值 -firebase-

Doctrine2 - (如何)使用 main 获取关联对象

检索子值 Failed-Firebase- Android

如何在 VB 中格式化动态网格视图?

如何使用 Firebase 将初始数据加载与增量子项分开?

Firebase 实时数据库中的增量操作如何工作?