Я пытаюсь получить weight
и quantity
из Cat1
, где item_name
, date
и branch
совпадают в Cat2
в БД Firebase Realtime. Но я не знаю, как проверить условия для этого.
JSON
"Cat1" : {
"-LBBWypuYLVn-aDYWK-N" : {
"branch" : "b1",
"date" : "28/Apr/2018",
"weight" : "46",
"item_name" : "item1",
"quantity" : "20"
},
"-LBBZKUlEJB-HdiKftoj" : {
"branch" : "b2",
"date" : "28/Apr/2018",
"weight" : "112",
"item_name" : "item2",
"quantity" : "16"
}
},
"Cat2" : {
"-LBBWQcC3acYk-OOiX3T" : {
"branch" : "b1",
"date" : "28/Apr/2018",
"item_name" : "item1",
"weight" : "2.7",
"quantity" : "20"
}
}
Пока я сделал следующее:
mFishQuery = mFishRef.orderByChild("date").equalTo(mawStock.getDate());
// mFishQuery = mFishRef.orderByKey();//.equalTo(mawStock.getDate());
// Query fishWeight = mFishQuery.orderByChild("item_name").equalTo(mawStock.getItem_name()).getRef().orderByChild("quantity").equalTo(mawStock.getQuantity());
mFishQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mWeightF = (Double) dataSnapshot.child("fish_weight").getValue();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mFishRef.child("date").equalTo(mawStock.getDate()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});