Firebase queryEqual为多个值中的任意一个
我正在使用Firebase数据库编写聊天应用程序。我需要查询我的数据以找到要显示给用户的消息。我目前正在使用Firebase queryEqual为多个值中的任意一个,firebase,firebase-realtime-database,firebase-cloud-messaging,Firebase,Firebase Realtime Database,Firebase Cloud Messaging,我正在使用Firebase数据库编写聊天应用程序。我需要查询我的数据以找到要显示给用户的消息。我目前正在使用queryEqual查找指定用户的所有帖子: databaseRef.child("posts").queryOrdered(byChild: "uid").queryEqual(toValue: FirebaseManager.currentUser?.uid) 这将返回从登录用户发送的所有帖子,但不返回发送给登录用户的任何内容。通过将“uid”更改为“toId”,我可以获得发送给登录
queryEqual
查找指定用户的所有帖子:
databaseRef.child("posts").queryOrdered(byChild: "uid").queryEqual(toValue: FirebaseManager.currentUser?.uid)
这将返回从登录用户发送的所有帖子,但不返回发送给登录用户的任何内容。通过将“uid”更改为“toId”,我可以获得发送给登录用户的消息,如下所示:
databaseRef.child("posts").queryOrdered(byChild: "toId").queryEqual(toValue: FirebaseManager.currentUser?.uid)
但是,我如何将这两个查询组合成一个查询,即“给出所有的帖子,其中'uid'或'toId'等于这个值”
这是我的数据库:
您的意思是获取所有帖子(来自和发送给任何人)并在客户端对其进行过滤?请查看此答案您的意思是获取所有帖子(来自和发送给任何人)并在客户端对其进行过滤?请查看此答案