2016-09-22 4 views
0

Node.jsとFirebaseでURL短縮機能を構築していますが、現時点では機能していますが、URLを短縮してもう一度短縮すると別のリンクを使い切ります。 Firebaseの私のデータは次のようになっています:検索Firebase for Child

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

誰かが新しいリンクを作成すると、既存のエントリをチェックするようにしたいと思います。それが効率的でないかどうかは分かりません。

私はそれをやり遂げる方法がわからないので、何か助けに感謝します。私は、各エントリから長い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 
     } 
    }); 
}); 

あなたは重複が見つかったかどうかを示すフラグを追加することができ、そして何もなかった場合は、あなたのデシベルにURLを追加そのフラグに基づいて検出されます。

関連する問題