gpt4 book ai didi

java - 尝试从 Firebase 获取由 UID 和 Push() 方法生成的两个唯一键下的数据并使用查询

转载 作者:行者123 更新时间:2023-12-01 23:13:34 26 4
gpt4 key购买 nike

我使用了一个查询,该查询从用户处获取特定日期以从数据库获取数据,但它一直说数据已存在,即使我使用两个循环,一个在 Uid 上,一个在推键上。这是我写的代码。

final DatePickerDialog datePickerDialog = new DatePickerDialog(AdminAppointmentManage.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
month += 1;
selectedDate = dayOfMonth + "/" + month + "/" + year;
dateText.setText(selectedDate);
Query query = FirebaseDatabase.getInstance().getReference().child("Appointment").orderByChild("dateOfAppointment").equalTo(selectedDate);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
appointmentList.clear();
List<String> appointmentKey = new ArrayList<>();
if (dataSnapshot.exists()) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
for (DataSnapshot appointmentSnapshot : snapshot.getChildren()){
appointmentKey.add(appointmentSnapshot.getKey());
Appointments appointments = appointmentSnapshot.getValue(Appointments.class);
appointmentList.add(appointments);
}}
adapter.notifyDataSetChanged();
} else {
Toast.makeText(AdminAppointmentManage.this, "No Appointment for that day !!", Toast.LENGTH_SHORT).show();
}
}

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

}
});
}
}, year, month, day);

数据库树:

enter image description here

最佳答案

Firebase 查询适用于子节点的平面列表。他们可以对每个子节点下的单个属性进行排序/过滤。

因此,您 child("Appointment").orderByChild("dateOfAppointment").equalTo(selectedDate) 获取每个 user 节点( 的直接子节点)然后在 dateOfAppointment 上进行约会 和订单/过滤器。由于用户没有 dateOfAppointment 属性,因此会产生一个空列表。

在当前的数据结构中,您可以搜索单个用户的约会,但无法同时搜索所有用户的约会。如果您想要后者,请考虑存储一个单一的约会列表(然后将用户 ID 作为属性)。

另请参阅:

关于java - 尝试从 Firebase 获取由 UID 和 Push() 方法生成的两个唯一键下的数据并使用查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com