【发布时间】:2018-02-07 06:00:19
【问题描述】:
我有这个数据库:
event_users
- eventid1:
- userid1: "username1"
- userid2: "username2"
- eventid2:
- userid2: "username2"
- userid4: "username4"
我想获取 2 号用户所在的所有事件 ID。所以,正如我所担心的,我可以使用 orderByChild(userid2) 来实现这一点。这是我的代码:
rootRef.child(EVENT_USERS_KEY).orderByChild(uid).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG, dataSnapshot.getValue().toString());
final long eventCount = dataSnapshot.getChildrenCount();
Log.d(TAG, String.valueOf(eventCount));
...
}
说“uid”是用户 2 的用户 ID,它会检索我所有的事件。没关系,因为 2 号用户是这两个事件的参与者。但是,如果我为 userid1 更改它,它仍然会检索我所有的事件,而它应该只获取第一个事件。我是否正确理解 orderByChild() 方法?
【问题讨论】:
标签: android firebase firebase-realtime-database