【问题标题】:How to check if a key exists, without retrieving the parent node? [Firebase / Database]如何在不检索父节点的情况下检查密钥是否存在? [火力基地/数据库]
【发布时间】:2018-02-18 16:34:15
【问题描述】:

我想检查实时数据库中是否存在密钥。 我知道我可以不检索父节点然后使用.hasChild('theKey') 来检查它,但是父节点可能很大并且加载所有节点可能很昂贵。

我也知道我只能从 Realtime DB 请求密钥,如果它不存在,它会抛出一个错误。但是这种方法对我来说也不是很好,因为我不知道如何确保抛出的错误是因为密钥不存在,而不是例如网络问题或其他原因。

顺便说一句,我在 Firebase Functions 中使用 node.js 来访问数据库。

【问题讨论】:

    标签: javascript node.js firebase firebase-realtime-database nosql


    【解决方案1】:

    您可以使用 shallow 参数来检查键是否存在。如果数据存在,它将返回 value(对于基元)或 'true'(对于对象),如果不存在,它将返回

    阅读更多:https://firebase.google.com/docs/database/rest/retrieve-data#shallow

    【讨论】:

    • 谢谢,但是如何在 Firebase Functions 中使用它?
    • 您可以通过从云函数脚本发出 GET 请求来查询它。我建议使用 requesthttp 库从节点发出 http(s) 请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2020-09-02
    相关资源
    最近更新 更多