我有这样的标准火力地堡电话:火力地堡ValueEventListener返回不存在的关键
ref.child("user/toys/-K2873267832")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
// wow the Data at Firebase database does not exist
}
}
}
的问题是,裁判"user/toys/-K2873267832"
不存在。当我在console.firebase.google.com上删除密钥时,dataSnapshot
应该没有数据权限。即使是钥匙user/toys
也被删除。
我一直在为这个项目工作一个月,并且在复杂的数据库中有很多ValueEventListener
。这是我以前从未见过的东西。
什么会导致这种情况发生?
那么dataSnapshot不等于null? – Lyla
,DataSnapshot {key = -K2873267832,value = null} –
查看答案已发布;你会得到该位置的价值,但这是预期的。也预计它不会有价值。如果您试图检查某个位置是否存在,则可以这样做 - 使用值事件侦听器,然后查看数据是否为空。 您也可以在父节点上执行调用,并使用'hasChild'方法查看它是否存在,如[此处]所述(http://stackoverflow.com/questions/37397205/google-firebase-check-if-儿童存在)。 – Lyla