java如何从firebase中删除?
getReference(“Posts”)。儿童(postKey)。子(“日期”),其中日期以“日期”形式书写(将在未来,例如,2020年4月30日以字符串格式)。我想写一个程序,将发生“Post”以获得整个日期,如果当前日期和日期来自“Post”(currentDate==日期(“Post”)),则删除此Post。如何从列表中获取所有内容进行比较
我在添加“Post”的地方添加了代码。我从calendarView中获取日期,它是用俄语书写的,非常方便
private void deletePostFromFirebase(){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH);
Date date = new Date();
String newDate = simpleDateFormat.format(date);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Posts");
ref.orderByChild("date").equalTo(newDate).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot itemSnapshot: dataSnapshot.getChildren()) {
itemSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException();
}
});
}
# 1 楼答案
如果要根据条件删除日期,则可以执行以下操作:
执行查询
orderByChild("date").equalTo(date)
,然后可以迭代并检索key
并删除子date