如何在firebase中存储匹配键的所有值

时间:2019-12-28 16:52:04

标签: java android firebase-realtime-database

您可以在图片中看到,不同日期有不同的药物 喜欢

2019-12-27 Medicine ALTISGPT => "72 u/L"
2019-12-26 Medicine ALTISGPT => "74 u/L"
2019-12-25 Medicine ALTISGPT => "74 u/L"

我想将MedicineName映射到具有不同日期(例如

)的该药物的所有值
ALTISGPT =>["72 u/L","74 u/L","74 u/L"]

因此,我尝试创建一个HashMap并考虑在出现相同名称的情况下推送值。

mUserDatabase=FirebaseDatabase.getInstance().getReference().child("Users").child(uid).child("Medicines");

final HashMap<String,  Vector > Med=new HashMap<>();
mUserDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {

                //DATES childDataSnapshot.getKey()
                Vector<String> v=new Vector();

                for (DataSnapshot childDataSnapshot2 : childDataSnapshot.getChildren()) {
                    // "MEDICINE NAME" childDataSnapshot2.getKey()

                    v.add(childDataSnapshot2.getValue().toString());
                    Med.put(childDataSnapshot2.getKey(),v);

                }}}

        @Override
        public void onCancelled(DatabaseError databaseError) {}});

enter image description here

0 个答案:

没有答案