Firestore - 如何像我们在sql中所做的那样获取集合中的记录总数[重复]

Posted

技术标签:

【中文标题】Firestore - 如何像我们在sql中所做的那样获取集合中的记录总数[重复]【英文标题】:Firestore - how to get the total number of records in a collection like we are doing in sql [duplicate] 【发布时间】:2019-05-01 03:19:04 【问题描述】:
db.collection("cities").get().then(function(querySnapshot)  
console.log(querySnapshot.size); ); 

但问题是我正在使用 分页 并为每次调用加载 30 条记录。所以我无法获得记录的总数。有没有办法得到它?比如,我们在 sql 中做。

【问题讨论】:

你想要 API 或本地存储的总数? 我了解到您想获取该集合的记录总数。您在问题开头提到的代码正是这样做的。你还想要哪个号码? 没有简单的 API 来计算集合中的文档。您将不得不投入一些工作来以可扩展的方式维护文档数量。 请您详细说明一下。 “您将不得不投入一些工作来以可扩展的方式维护文档数量”我在哪里可以找到它? @DougStevenson 您好,请您进一步发展您对“这里没有简单的 API 来计算集合中的文档”这一事实的评论。如果我没有弄错查询 entire 集合并使用 snapshot.size 返回集合中的文档数。对于您的评论,您的意思是如果收藏量很大,可能会花费很多,因此不推荐这种方式? 【参考方案1】:

如何使用 Firebase 获取集合中的记录总数?

numChildren() 方法可以做到这一点。你可以找到更多关于它的信息here

这是一个使用它的例子:

db.collection("cities").get().then(function(querySnapshot)  
    console.log(querySnapshot.numChildren());
);

希望我的回答能帮到你?

【讨论】:

如果我没记错的话,OP 使用的是 Firestore 而不是实时数据库。 他想要存储的总数或API上的总数,对不起我的误解 确实,恕我直言,OP 问题并不十分清楚,但在您的回答中,您将实时数据库与 Firestore 混为一谈。 numChildren 是实时数据库的方法,而不是 Firestore 的方法。 firebase.google.com/docs/reference/js/…。正如 OP 所注意到的,Firestore 等效项是 snapshot.size 是的,我认为他需要告诉我们更多信息,但正如你所说,我认为我误解了这个问题 对不起,我错过了这里的限制。实际上我使用负载更多,第一次加载 30 条记录,然后在每次加载时我使用“FlatList”获取 30 条记录。 db.collection("cities").limit(30).get().then(function(querySnapshot) console.log(querySnapshot.numChildren()); );每次我得到 30 时都在这里,但我需要全部计数(记录总数)

以上是关于Firestore - 如何像我们在sql中所做的那样获取集合中的记录总数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何像我在代码中所做的那样,在通过javascript上传后,如何上传多个图像文件并相应地查看它们?

如何还原某些用户在 GIT 存储库中所做的更改

如何观察对调用 firestore onSnapShot 的函数所做的更改?

如何在 MongoDB 中建模关系? [复制]

如何在正确位置使用 SelectInput 时保存在 DT 中所做的编辑

如何下载 o 在本机反应中所做的应用程序? [关闭]