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

Cloud Firestore集合计数

汪理
2023-03-14

如果是,我该怎么做?

共有1个答案

龚奕
2023-03-14

和许多问题一样,答案是--这要看情况而定。

在前端处理大量数据时要非常小心。Firestore除了让你的前端感觉迟钝之外,还会向你收取每百万次阅读0.60美元的费用。

小心使用-前端用户体验可能会受到影响

db.collection('...').get().then(snap => {
   size = snap.size // will return the collection size
});

功能

...
db.collection('...').get().then(snap => {
    res.status(200).send({length: snap.size});
});

前端:

yourHttpClient.post(yourCloudFunctionUrl).toPromise().then(snap => {
     size = snap.length // will return the collection size
})

最可扩展的解决方案

FieldValue.Increment()

export const documentWriteListener = 
    functions.firestore.document('collection/{documentUid}')
    .onWrite((change, context) => {

    if (!change.before.exists) {
        // New document Created : add one to count

        db.doc(docRef).update({numberOfDocs: FieldValue.increment(1)});
    
    } else if (change.before.exists && change.after.exists) {
        // Updating existing document : Do nothing

    } else if (!change.after.exists) {
        // Deleting document : subtract one from count

        db.doc(docRef).update({numberOfDocs: FieldValue.increment(-1)});

    }

return;
});
 类似资料:
  • 如何得到这个数据的乘法和。 这是我的kvit表 这是手术台 这里是关系 这是控制器 这是我的看法 我需要将每种产品的数量乘以价格,得到总金额。这是收据的总金额(1015510)=200怎么可能?

  • 我目前正在从事一个项目,在该项目中,我给出了一个实体,该实体具有一个集合,即订单,因此客户和订单之间存在一种单一关系。假设我想选择具有相应数量的订单实体(在SQL中称为计数)的客户集合的子集:Spring Data JPA提供的查询方法是否已经有了默认实现,以避免使用JPQL编写自定义查询,该查询在一个SQL查询中而不是在n 1个查询中获取客户订单的数量其中n是客户数量?或者可以在某种瞬态字段(例

  • 问题内容: 在Java中为集合的集合设计一个迭代器。迭代器应隐藏嵌套,使您可以迭代属于所有集合的所有元素,就像使用单个集合一样 问题答案: 这是一个可能的实现。请注意,我没有执行remove():

  • Java标准库中的大多数集合(如ConcurrentLinkedQueue、Concurrent LinkedDequeue和ConcurrntSkipListSet)的文档都附带以下免责声明: 注意,与大多数集合不同,size方法不是一个恒定时间的操作。由于这些集合的异步性质,确定元素的当前数量需要遍历元素,因此如果在遍历过程中修改了集合,可能会报告不准确的结果。 那是什么意思?为什么他们不能保

  • 问题内容: Python中对象提供的功能的复杂性是什么? 更具体地说,是否在计数时保留某种排序列表,以使其比在计数器中添加(唯一)项的数量更快地执行操作?仅供参考,我正在处理大量文本数据,以尝试找到第n个最频繁的标记。 我检查了CPython Wiki上的官方文档和TimeComplexity文章,但找不到答案。 问题答案: 从collections.py的源代码中,我们看到,如果不指定返回的元素

  • {应用程序:“ABC”,日期:time.now,状态:“1”user_id:[id1,id2,id4]} {应用程序:“ABC”,日期:time.listerment,状态:“1”,user_id:[id1,id3,id5]} {应用程序:“ABC”,日期:time.ystayday-1,状态:“1”,user_id:[id1,id3,id5]} 我目前正在使用聚合框架并计算MongoDB之外的I