我想检查实时数据库中是否存在密钥。
我知道我可以不检索父项,然后使用.hasChild('theKey')
来检查它,但是父节点可能很大并且加载所有它可能很昂贵。
我也知道我只能从Realtime DB中请求密钥,如果它不存在,则会抛出错误。但是这个方法对我来说不是很好,因为我不知道如何确保抛出的错误是因为密钥不存在,而不是例如网络问题或其他原因。
顺便说一句,我在Firebase函数中使用node.js来访问数据库。
答案 0 :(得分:3)
您可以使用shallow参数来检查密钥是否存在。如果数据存在,它将返回值(对于基元)或'true'(对于对象),如果它不存在,它将返回空
了解详情:https://firebase.google.com/docs/database/rest/retrieve-data#shallow