Firebase管理员,是否push()。getKey()保证我有一个唯一的密钥?

时间:2017-07-12 02:15:37

标签: javascript firebase firebase-realtime-database

我想使用push()时生成的密钥,所以我可以使用onSuccesListener中的密钥,据我所知,这个密钥是唯一的。

而不是ref.push().setValue()

我这样做了......

final String key = ref.push().getKey(); //unique guaranteed?

 ref.child(key).setValue(object).addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void result) {
                // so now I can use the key here
            }
        })

困扰我的是这个密钥是在本地生成的(我想,因为我不会用听众来获取它),如果是在本地生成的,我不知道它是否总是唯一的?

如果没有,我该如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

是的,致电push()会在本地生成ID(确保您的用户未连接到Firebase服务器时可以运行)。是的,它们在统计上保证是独一无二的。要详细了解Firebase的推送ID,请参阅此博文:The 2^120 Ways to Ensure Unique Identifiers

另见: