在Firebase中查找值

时间:2019-03-20 23:22:38

标签: android database firebase firebase-realtime-database

我正在为Android开发一个应用程序,现在我已经拥有所有产品,当我将其添加到购物车时,我会将产品ID添加到当前用户的新子级中。如果在这个名为“产品”的新孩子中添加了我在购物车中点击时给他单击的所有产品的ID,则仍然是这样: -L_ZXuTy2aVKuzWA1Y6r:“ true” 。我小时候保留产品ID的地方,我给它一个“真实”值。

使用以下代码可以完美地获取我已添加到购物车中的所有这些产品的完整列表,然后将该列表与存储这些产品的子项进行比较。

代码:

followingList = new ArrayList<>();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users")
    .child( FirebaseAuth.getInstance().getCurrentUser().getUid())
    .child("Products");

reference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        followingList.clear();
        for (DataSnapshot snapshot : dataSnapshot.getChildren()){
            followingList.add(snapshot.getKey());
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }});

但是我希望不要将其直接存储在子“产品”中,而是使用push方法创建一个随机ID,并在每个唯一ID中添加添加到购物车的产品ID。

目前我可以到达那里,但是我不知道如何在随机ID中搜索其中的所有产品ID:子“产品”->随机ID->产品ID。后者是我想从找到的所有拍卖编号中获得的编号。

"products" : {
    "-LaSV9Nxwrz58Oe8sLwE" : {
      "-LaQoiF-_v_1BsEiqU7v" : true
    },
    "-LaSXD7-B6E51QRMMoWp" : {
      "-LaQoiF-_v_1BsEiqU7v" : true
    }
}

0 个答案:

没有答案