当前位置: 首页 > 知识库问答 >
问题:

如何计算集合中的文档数量?[副本]

石博艺
2023-03-14

如果一个集合中有大量的文档,我是否可以在不加载整个集合的情况下获得文档的计数。

db.collection('largecollection').get().then(snapshot => {
   length = snapshot.size;
})

共有1个答案

龚鸿羽
2023-03-14

没有内置API来获取集合中文档数量的计数。因此,默认情况下,您必须下载所有文档才能计数。

正如Renaud评论的那样,常见的解决方法是保留一个单独的计数器,每次添加/删除文档时都要更新该计数器。您可以在应用程序中完成此操作,每次添加/删除文档时都用事务更新计数器。但是在服务器上这样做更可靠,比如Firebase的云函数。有关这种方法的示例,请参见functions-samplesrepo。虽然该示例是针对Firebase实时数据库的,但该方法同样适用于FireStore。

另请参阅关于分布式计数器的Firestore文档部分。

 类似资料: