对于你们中的一些人来说,这可能是没有道理的,但我不确定它是否可能。
使用AngularFire,我想缩短在推送时创建的生成的uid。为什么? 因为我想构建一个函数来共享Firebase中动态路径的链接,而不是
https://url.firebaseio.com/lists/-KGhj0n_wN1xyhtu7HOR
我想要像
这样的东西https://url.firebaseio.com/AbcDe
“生成器”会构建一个新的uid,但仍然会引用 “-KGhj0n_wN1xyhtu7HOR”。
是否可能,是值得还是有更好的方法来接近它?
答案 0 :(得分:1)
shortlinks: {
"AbcDe": "-KGhj0n_wN1xyhtu7HOR"
}
现在当有人进入短链接时,您只需使用以下命令查找实际的列表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');
}
})
你必须弄明白的剩余问题
$firebaseArray.$add()
或Firebase.push()
时获得的内容)保证是唯一的,这是他们这么长时间的原因之一。较短的链接更容易记忆,但你必须找到一些方法来保证它们的独特性。请参阅How do you prevent duplicate user properties in Firebase?的已接受答案,但也可能还有十几个其他问题。-KGhj0n_wN1xyhtu7HOR
下,而是将其存储在AbcDe
下。它可以为您节省查询费用。