2016-09-22 59 views
0

我在Node.js和Firebase中构建了一个URL缩短器,它目前正在运行,但如果您缩短了网址并再次缩短了网址,则会使用另一个链接。以下是我在Firebase中看到的数据:搜索Firebase for Child

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

我希望它能够在有人制作新链接时检查现有条目。我不确定这是否无效。

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

+0

它看起来应该可以得到与查询一起工作。但是,除非您包含实际JSON的片段(如文本,而不是屏幕截图 - 您可以通过从Firebase数据库控制台导出该文件来获取它),否则很难更具体。 –

回答

0

当增加一个缩短的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 
     } 
    }); 
}); 

您可以添加一个标志,指示重复是否被发现或没有,将该网址添加到您的数据库,如果没有了根据该标志找到。