所以我有我的後端使用firebase。我打算做的是將用戶匹配添加到用戶ID。但是,當用戶最初報名時,他們沒有匹配。我想要做的是檢查用戶孩子中是否存在「匹配」子元素,如果不是,則創建列表子元素並存儲第一個匹配元素。但是,如果它已經存在,則只需添加比賽。這裏是我的代碼:firebase檢查是否存在小孩
public void setMatch(final String match){
final Firebase ref = new Firebase("FIREBASEURL");
final Firebase userRef = ref.child("Flights").child(userName);
userRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("does the child exist? " + dataSnapshot.child("matches").exists());
if(!dataSnapshot.child("matches").exists()){
ArrayList<String> matches = new ArrayList<String>();
matches.add(match);
Firebase matchesRef = userRef.child("matches");
matchesRef.setValue(matches);
userRef.removeEventListener(this);
}else if(dataSnapshot.child("matches").exists()){
Map<String, Object> matches = new HashMap<>();
matches.put("matches", match);
userRef.child("matches").push().setValue(matches);
userRef.removeEventListener(this);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
目前,正在添加值的兩倍(在else如果被調用兩次,如果該領域已經存在,/它稱爲如果它不)。我不確定我做錯了什麼。