Cloud Firestore:基于对象内容过滤(通过Flutter)

Sab*_*ran 5 dart firebase flutter google-cloud-firestore

我正在使用以下Firestore设置:

在此输入图像描述

现在我想收到当前用户(给定的uid)在users对象/列表中的所有文档.users是对用户集合的引用对象.

理想情况下,我想使用来自Flutter的这个过滤器和cloud_firestore包,但是现在我只是感兴趣,如果这是可能的话.

Sab*_*ran 8

我发现这篇文章解释说,目前我无法想象它.我将我的设置改为:

在此输入图像描述

我现在可以使用来自Flutter的此查询来接收给定用户的聊天

Firestore.instance
    .collection('chats')
    .where('users.' + _auth.currentUser.uid, isEqualTo: true)
    .snapshots
    .listen((data) {...});
Run Code Online (Sandbox Code Playgroud)

我也使用此规则来确保用户只能访问他参与的聊天:

match /chats/{chatId} {
  allow read: if resource.users[request.auth.uid];
  // write rule yet to create
}
Run Code Online (Sandbox Code Playgroud)