首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Firebase按名称属性获取用户

使用Firebase按名称属性获取用户
EN

Stack Overflow用户
提问于 2013-02-20 01:31:16
回答 4查看 88.7K关注 0票数 131

我正在尝试创建一个应用程序,在其中我可以获取/设置特定用户帐户中的数据,我被Firebase所吸引。

我遇到的问题是,当我的结构看起来像这样时,我不知道如何针对特定的用户数据:

代码语言:javascript
复制
online-b-cards
  - users
    - InnROTBVv6FznK81k3m
       - email: "hello@hello"
       - main:  "Hello world this is a text"
       - name:  "Alex"
       - phone: 12912912

我环顾四周,我真的找不到任何关于如何访问个人数据的东西,更不用说给他们一些随机的散列作为他们的ID了。

我该如何根据他们的名字抓取个人用户信息呢?如果有更好的方法,请告诉我!

EN

回答 4

Stack Overflow用户

发布于 2017-01-09 21:17:40

您可以通过以下代码获取详细信息。

代码语言:javascript
复制
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("users");
myRef.orderByChild("name").equalTo("Alex").addListenerForSingleValueEvent(new ValueEventListener() {           
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
                        Log.d(TAG, "PARENT: "+ childDataSnapshot.getKey());
                        Log.d(TAG,""+ childDataSnapshot.child("name").getValue()); 
                    }
票数 6
EN

Stack Overflow用户

发布于 2016-01-25 23:15:48

我认为最好的方法是根据Firebase提供的auth对象来定义用户的I。当我创建我的用户时,我会:

代码语言:javascript
复制
FirebaseRef.child('users').child(id).set(userData);

此id来自:

代码语言:javascript
复制
var ref = new Firebase(FIREBASE);
var auth = $firebaseAuth(ref);
auth.$authWithOAuthPopup("facebook", {scope: permissions}).then(function(authData) {
    var userData = {}; //something that also comes from authData
    Auth.register(authData.uid, userData);
}, function(error) {
    alert(error);
});

Firebase身份验证服务将始终确保将其所有提供程序中的唯一id设置为uid。这样,您将始终拥有auth.uid,并且可以轻松访问所需用户以更新它,如下所示:

代码语言:javascript
复制
FirebaseRef.child('users').child(id).child('name').set('Jon Snow');
票数 4
EN

Stack Overflow用户

发布于 2017-12-13 23:57:13

最简单的方法是停止使用.push(){}

生成随机密钥的函数。而是使用.update(){}函数,您可以在其中指定子对象的名称,而不是使用随机密钥。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14963776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档