2016-09-22 57 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 
     } 
    }); 
}); 

您可以添加一個標誌,指示重複是否被發現或沒有,將該網址添加到您的數據庫,如果沒有了根據該標誌找到。