【发布时间】:2017-01-20 16:07:53
【问题描述】:
我正在 Firebase Android 中开发一个聊天基础应用。我有两种方法可以获得相同的结果,但无法检测出哪一种性能更好。在关注方面需要帮助。
数据库结构:
Firebase -
- User
- user id
- name
- DOB
- userId
我需要获取所选密钥的用户信息。所以有以下两种方式:
-
创建 Firebase 数据库引用直到 userId 并向其添加事件侦听器:
database.child("Users").child(userCurrent.getUserId()).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { } @Override public void onCancelled(DatabaseError databaseError) { } }); -
在用户节点之前创建一个 Firebase 数据库引用,然后尝试使用
equalTo查询键找到确切的用户:database.child("Users").orderByKey().equalTo(userCurrent.getUserId()).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { } @Override public void onCancelled(DatabaseError databaseError) { } });
第二个选项是否会从User 节点获取每个用户,然后查询equalTo?
【问题讨论】:
-
请阅读以下内容,然后修复您的问题的格式问题:stackoverflow.com/help/formatting
标签: android performance firebase firebase-realtime-database