我有一个名为chats
的Cloud Firestore集合,它们的文档具有以下结构:
下面是同一集合中的另一个文档:
正如您所看到的,两个文档都有一个公共的users
项,在本例中,公共项是modestovasco@gmail.com: null
,但是在第一个文档中,该项位于第一个位置,而在第二个文档中,该项位于第二个位置。
我需要创建一个流,该流应该过滤chats
集合中的文档,这些文档在users
字段中有特定的电子邮件,并且应该过滤两个地方,第一个和第二个。
在当前状态下,如果我正在查找modestovasco@gmail.com,过滤器应该检索这两个文档。
下面是我当前的过滤器代码:
FirebaseFirestore.instance
.collection("chats")
.where('users', isGreaterThanOrEqualTo: {usuario!.email: null})
.snapshots()
此流仅获取第一个文档。
1条答案
按热度按时间yyyllmsg1#
你可以在where子句上使用
arrayContainsAny
方法,它会给予你那些给定的电子邮件出现在用户字段上的文档,不管电子邮件出现在哪个地方。修改后的代码如下所示:
如需了解更多信息,请点击此处