我正在使用 flutter 和 firebase 作为我的后端制作一个移动应用程序。
我有一组存储用户信息的用户文档。其中一个字段是一个引用数组(另一个集合中的引用文档),我想在像批处理这样的操作中使用它,然后允许读取所有文档。
我知道批处理只允许写入数据库,我的第二个选项是事务,它需要在我试图避免的读取后写入。
有没有一种方法可以在一个操作中读取多个文档而不必使用事务?
最佳答案
Firestore 不提供正式的批量读取 API。正如弗兰克在他的评论中提到的,有一种方法可以使用 IN
使用它们的 ID 从单个集合中获取多个文档。但是,所有文档都必须在同一个集合中,并且每个查询不能超过 10 个文档。您也可以单独为每个文档单独使用 get(),如 IN
查询有限制,不能保证执行得比个人更快。两种解决方案都不能保证“一致”,因此在任何给定时刻,获取的任何一个文档都可能比其他文档“更新鲜”。
关于arrays - 有没有办法批量读取firebase文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59572943/