首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅从firebase实时数据库获取当前用户的数据。

仅从firebase实时数据库获取当前用户的数据。
EN

Stack Overflow用户
提问于 2018-08-03 14:12:48
回答 1查看 1K关注 0票数 2

我想从我的firebase实时数据库中获取数据,但我只想获取包含当前用户UID的数据。

请参阅数据库结构的图像:

我不了解从文档中查询/排序防火墙的诀窍:https://firebase.google.com/docs/database/web/lists-of-data

代码语言:javascript
运行
复制
// 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')

希望能为解决这一问题提供任何帮助或建议。

EN

回答 1

Stack Overflow用户

发布于 2018-08-03 15:35:41

无法根据UID直接查询聊天,因为键以UID结尾,而不是从UID开始。这是一种预期的行为,如果您以您似乎正在尝试的方式解析密钥,我会认为这是一种代码气味。

相反,为每个用户保留一个聊天ID列表。

代码语言:javascript
运行
复制
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

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

https://stackoverflow.com/questions/51674553

复制
相关文章

相似问题

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