我想从我的firebase实时数据库中获取数据,但我只想获取包含当前用户UID的数据。
请参阅数据库结构的图像:

我不了解从文档中查询/排序防火墙的诀窍:https://firebase.google.com/docs/database/web/lists-of-data
// Gets all chats
return firebase.database().ref(`chat`);
// would like to do something like this 
let userId = firebase.auth().currentUser.uid
firebase.database().ref('/chat/' + userId).once('value')希望能为解决这一问题提供任何帮助或建议。
发布于 2018-08-03 15:35:41
无法根据UID直接查询聊天,因为键以UID结尾,而不是从UID开始。这是一种预期的行为,如果您以您似乎正在尝试的方式解析密钥,我会认为这是一种代码气味。
相反,为每个用户保留一个聊天ID列表。
userChats
  uid1
    chatid1: true
    chatid2: true
  uid2
    chatid2: true通过这种方式,您可以从/users/$uid加载用户的聊天ID,然后加载每个单独的聊天。后者并不像一些开发人员想象的那么慢,因为Firebase将这些请求通过单个连接进行管道传输。请参阅http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-query-instead-of-obse/35932786#35932786
https://stackoverflow.com/questions/51674553
复制相似问题