【问题标题】:Search Firebase for Child在 Firebase 中搜索儿童
【发布时间】:2016-09-22 23:04:20
【问题描述】:

我正在 Node.js 和 Firebase 中构建一个 URL 缩短器,它目前正在运行,但是如果你缩短一个 URL 并且它再次被缩短,它会占用另一个链接。以下是我在 Firebase 中的数据:

Database 
  --> (Short Link)
    --> (Long URL)
    --> (Views)
  --> q0
    --> http://google.co.uk/
    --> 10
  --> g7
    --> http://google.co.uk/
    --> 3

我希望这样当有人创建新链接时,它会检查现有条目。我不确定这是否会低效。

我不确定如何去做,所以我会很感激任何帮助。我想从每个条目中获取长 URL,并与正在创建的新条目一起检查它们。

【问题讨论】:

  • 看起来你应该能够通过查询来实现它。但是在包含实际 JSON 的 sn-p 之前很难更具体(作为文本,而不是屏幕截图 - 您可以通过从 Firebase 数据库控制台导出它来获得它。

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


【解决方案1】:

添加缩短的 url 时,您可以检查它是否存在:

dbRef.once("value", function(snap) {
    snap.forEach(function(shortLink) {
        //let's say the field for your "Long URL" is called "longLink"
        if(newUrl === shortLink.val().longLink) {
            return true; //cancel the loop, newUrl is already in the db
        }
    });
});

您可以添加一个标志来指示是否找到重复项,如果基于该标志未找到任何内容,则将 url 添加到您的数据库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多