【发布时间】:2021-11-14 09:42:01
【问题描述】:
对于firebase函数,我们有时可能需要检查实时数据库中的某个字段是否存在,例如,我们可能正在循环访问实时数据库中的所有用户记录,并且可能只有部分用户有一个字段,比如“汽车”。据我从the selected answer in the SO post 了解到,我们可以调用exists() 或检查null。
第一个是检查car 是否存在:
if(dataSnapshot.child("car").exists()) {
//Do something
}
第二个是检查car 字段是否为空:
if(dataSnapshot.child("car").val() != null) {
//Do the other thing
}
问题是,这两种方式如何比较,首先,在结果方面? exists() === false 与null 相同,exists() === true 与!null 相同,还是有什么特殊情况需要考虑?其次,性能如何?与exists() 的函数调用相比,空值检查是否更快,是否使用更少的资源(内存等)?还是纯粹是偏好/口味问题?
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions