我正在开发一个扑动应用程序,并有以下firestore代码。在这里,我正在搜索包含给定memberid
的rooms
。
return _firestore
.collection('rooms')
.where('memberIds', arrayContains: currentUserUid)
.snapshots()
.asBroadcastStream();
请考虑以下问题。
- 假设我有100个
rooms
- 在20个房间你可以找到我的
memberId
现在,如果我运行上面的代码一次,它将创建多少读取并为我计费?
是1次读取,20次读取还是100次读取?
Firestore只允许您执行查询,它可以根据它保留的索引找到要返回的文档。因此,它不必读取每个文档来确定它是否符合条件(称为表扫描)。
因此,如果您返回20个房间,那么无论您的rooms
收藏中有多少个文档,您将为20次文档读取收费。