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

如何通过只支付一个查询过程[重复]来获取特定集合中的文档数

戚翰飞
2023-03-14

当然,我可以通过以下代码知道如何获取文档数量:

handledocsNumber(){
   Future<QuerySnapshot<Map<String, dynamic>>>  number =   FirebaseFirestore.instance.collection("users").get();
   number.then((value) {
   int docsNumber =  value.docs.length;
   });
    
  }

但如果收藏中有大量的文档,这听起来很可怕,因为。get()将整个文档视为新的特殊读取,如果此方法持续用于用户目的。我只是想象文档是10万,这意味着。get()每次用户需要知道长度时,都会以新读的形式读取100000个文档。

通过只支付一个查询过程(即长度过程)来了解长度,有什么好方法吗?

共有1个答案

卢景澄
2023-03-14

通过只支付一个查询过程(即长度过程)来了解长度,有什么好方法吗?

是的,您可以在文档中保留计数器,并在向集合中添加新文档后增加值。如果删除文档,只需将其递减即可。这样,您可以通过读取单个文档来读取计数器。

 类似资料:
  • 我在使用firestore查询“wherequalto”时遇到了麻烦。我试图从一个名为“参与者”的集合中获取图像,但当文档不存在时,应该使用else语句并移动到更新文档的下一个活动。但是在onComplete侦听器(即任务)中从集合中查询文档时,文档没有退出,而是代码运行到if(Task.issucessful){}中,并且没有使用else语句。我的代码:有谁能帮我吗?谢谢

  • 表的复合键是symbol和“datetime”(它只是一个时间戳)。这两列在dynamodb中都设置为字符串。 我收到的错误是:提供的键元素与模式不匹配

  • 我有实体类用户通过@IdClass注释使用复合键 复合键: 我将Spring数据与hibernate JPA一起使用。因此,我有回购接口: 我想通过具体姓名和姓氏列表从数据库中获取所有活跃用户。例如。我想使用这样的方法 如何通过Spring数据或JPQL查询此需求?

  • 我正在用Java开发一个使用JPA的路线规划系统。我需要创建一个findBy方法,通过包含它的城市列表来查找路线。以下是课程: 现在我尝试了,但并不惊讶它不起作用,如下所示: 有没有一种简单的方法可以使用JPA,或者我必须编写一个困难的自己的@Query并以某种方式迭代,才能通过集合找到一个实体?

  • 问题内容: 我想知道如何编写此查询。 我知道这个实际的语法是虚假的,但是它将帮助您理解我想要的。我需要这种格式,因为它是更大查询的一部分。 我需要所有这些都在一个查询中返回。 此外,它必须排成一排,因此以下内容将不起作用: 问题答案: 您可以将语句与聚合函数一起使用。这与某些RDBMS中的函数基本相同:

  • 问题内容: 我期望我的jQuery代码使用此JSON: 这些数据将来自MySql表 : SQL查询应该是什么,以便输出 1个平面表 ,可以很容易地将其转换为JSON(在PHP或JavaScript / jQuery中)? 我什至以正确的方式走这条路吗? 问题答案: 您可以直接从MySQL生成JSON内容。这是可与MySQL 5.7或更高版本一起使用的解决方案。 首先,coonsider函数,该函数