Ray*_*újo 5 java android where firebase
有谁知道我可以在firebase中的where子句中执行常见的“ OR”操作?
我需要在查询中执行此操作,因为我正在将查询发送到适配器。因此,我的意思是,我无法添加侦听器并检查一个值,然后再检查另一个值。我需要在查询中指向该结果的完整查询。
我所拥有的是这样的:
chat1:
user1Id: "1"
user2Id: "2"
bothUsers: "1_2"
chat2:
user1Id: "2"
user2Id: "4"
bothUsers: "2_4"
Run Code Online (Sandbox Code Playgroud)
我需要获取ID为“ 2”的用户的所有聊天记录。我正在尝试像这样的查询:
userLogged = 2;
Query queryRef = firebase.orderByChild("user2Id").equalTo(userLogged);
Run Code Online (Sandbox Code Playgroud)
但是,只有在用户2处于user2Id位置时,它才会获得聊天。但是在上面的示例中,当用户2位于user1Id(chat2)中时,它将不会获得。我需要得到它。我怎样才能做到这一点?
在 NoSQL 数据库中,您经常需要按照应用程序需要的方式对数据进行建模(请参阅本文以获得关于在 NoSQL 数据库中,您通常必须按照应用程序需要的方式对数据进行建模(有关NoSQL 数据建模)。因此,如果您需要特定用户的所有聊天列表,请存储该列表:
/userChats
user1Id
chat1: true
user2Id
chat1: true
chat2: true
user4Id
chat2: true
Run Code Online (Sandbox Code Playgroud)
这个过程称为非规范化,我在上面链接的文章、关于结构化数据的 Firebase 文档以及这篇博文中对此进行了介绍。
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |