我使用火力地堡实时数据库在Android应用程序,并且有数据是这样的: 如何从firebase实时数据库中删除?
如何删除记录“苹果”(标记为图片)?
根据文档,删除您调用的项目removeValue()上的参考。但要获得参考,我需要孩子ID。由于其随机生成的ID(-KISNx87aYigsH3ILp0D),如何删除它?
我使用火力地堡实时数据库在Android应用程序,并且有数据是这样的: 如何从firebase实时数据库中删除?
如何删除记录“苹果”(标记为图片)?
根据文档,删除您调用的项目removeValue()上的参考。但要获得参考,我需要孩子ID。由于其随机生成的ID(-KISNx87aYigsH3ILp0D),如何删除它?
如果你不知道该项目的键删除,你首先需要查询数据库,以确定这些按键:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Query applesQuery = ref.child("firebase-test").orderByChild("title").equalTo("Apple");
applesQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot appleSnapshot: dataSnapshot.getChildren()) {
appleSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e(TAG, "onCancelled", databaseError.toException());
}
});
非常感谢。这正是我期待的。 –
为什么我找不到'DatabaseReference'? –
如果有多个标题为“Apple”的节点,该怎么办? –
根据您如何以及为什么删除数据,你可以使用这些:
// Could store the push key or get it after push
String newPostKey = yourDatabase.child('firebase-test').push({
something:something
}).key();
// Depends how you get to here
howYouGotHereId.parent().setValue(null);
对不起,投入到应答部分,但是我有一个类似的问题,如果什么,比如[-KISNx87aYigsH3ILp0D],我是数据库的节点而不是firebase-test的子节点,我想删除现在的“apple”,我该怎么做。由于我不知道子节点名称因为它是动态创建的,但我想从数据库中删除一些特定的条目。
这并没有提供一个问题的答案。你可以[搜索类似的问题](// stackoverflow.com/search),或者参考页面右侧的相关和链接问题来找到答案。如果你有一个相关但不同的问题,请[提出一个新问题](// stackoverflow.com/questions/ask),并包含一个链接来帮助提供上下文。请参阅:[提问,获得答案,没有分心](// stackoverflow.com/tour) – FelixSFD
感谢询问和回答#Amit&@Frank van Puffelen –