Search Firebase for Child



我正在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,并与正在创建的新条目检查它们。

当添加一个缩短的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添加到数据库。

最新更新