Query q = FirebaseDatabase.getInstance().getReference().child("Chats").orderByChild("senderkey")
.equalTo(FirebaseAuth.getInstance().getCurrentUser().getUid());
在上面的代码中,我使用sender = x
进行查询,如果我想发表此声明senderkey = x
和receiverkey = y
,该怎么办?
总之,如何在firebase中使用AND?
,因为:
我通过senderkey查询显示数据,但我不想再次显示重复数据,如果发送者密钥重复,我希望它显示一次
答案 0 :(得分:0)
我不认为这是可能的。您无法查询多个孩子。如果您知道您想要具有特定发件人ID的最后一封邮件,则可以使用limitToLast()
功能,这将消除重复的问题。
有关Firebase数据库查询的详细信息,请访问:https://firebase.google.com/docs/database/admin/retrieve-data
答案 1 :(得分:0)
firebase实时数据库中不允许这些类型的查询您可以将firestore用于多个查询的地方。
如果你想坚持使用firebase实时数据库,那么你应该处理你的数据模型并创建组合键来搜索和执行AND操作。
例如,要执行AND操作,您需要创建一个键
“name_createdAt”=“chickungunya_moka”
然后查询
。orderByChild( “name_reportedAt”)equalsTo(名称+ “_” + reportedAt);