2016-05-01 8 views
0

これはあなたの中には何の否定的なものではないかもしれませんが、その可能性があるかどうかはわかりません。Firebase UIDへのショートリンクを生成する可能性がありますか?

AngularFireを使用して、プッシュで作成された生成されたuidを短くしたいと思います。どうして? 私はFirebaseにおけるダイナミックパスへのリンクを共有するので、代わりに

https://url.firebaseio.com/lists/-KGhj0n_wN1xyhtu7HOR 

の私は

https://url.firebaseio.com/AbcDe 

「発電機」のようなものが欲しい機能を構築したいので、新しいUIDを建設しますそれでもなお "-KGhj0n_wN1xyhtu7HOR"を参照してください。

それは価値があるのですか、それとももっと良い方法がありますか?

答えて

0

うん、完全に聞こえる。新しい最上位リストを作成します。ここで、ショートリンクをリストIDにマップします。あなたは

  • どのよう

    を把握する必要があります

    ref.child('shortlinks').child(shortlinkFromUrl).once('value', function(snapshot) { 
        if (snapshot.exists()) { 
        // TODO: load the list with key snapshot.val() 
        } 
        else { 
        console.error('That's a non-existing shortlink'); 
        } 
    }) 
    

    残りの問題:誰かが短いリンクに来るとき

    shortlinks: { 
        "AbcDe": "-KGhj0n_wN1xyhtu7HOR" 
    } 
    

    は今、あなたは単純にして、実際のリストのIDを調べることができますあなたはショートリンクを生成しますか? FirebaseプッシュID($firebaseArray.$add()またはFirebase.push()と呼ぶときに得られるもの)は、ユニークであることが保証されています。これが長すぎる理由の1つです。より短いリンクは簡単に思い出深いものですが、一意性を保証するには何らかの方法を見つける必要があります。 How do you prevent duplicate user properties in Firebase?への受け入れられた回答を参照してください。これに対処する他のダースの質問もあります。
  • ユースケースのために一意の短いリンクを生成する方法が見つかった場合、リストのキーとして使用してみませんか?したがって、リストを-KGhj0n_wN1xyhtu7HORに格納する代わりに、AbcDeの下に格納してください。それはあなたにルックアップを保存します。
+0

いいね!そして例のおかげで! 今のところ、大文字、小文字、数字で6桁の数字を生成する単純なjavascriptスニペットがあります。十分なはずです(この製品はデモ用ですので、110%の一意性は必要ありません)。 私はそれをライブページにルーティングしようとしましたが、最初はうまくいくようでしたが、それが何を指しているのかはまだ分かりませんでした。私のルート設定が間違っているかもしれませんが、わかりません。私は今夜​​後にこれを行かせます! – mtorn

関連する問題