获取集合firestore中的文档数

2024-04-26 23:38:37 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用python计算Firestore中一个集合有多少文档

我刚找到这个密码

    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;
});

如何使用python实现这一点


Tags: dbdocifcountexistsupdatechangedocument
1条回答
网友
1楼 · 发布于 2024-04-26 23:38:37

Firestore(与许多NoSQL数据库一样)没有内置的聚合查询。如果要确定文档数量,有两个主要选项:

  1. 阅读所有文档,然后在客户机中清点它们
  2. 将文档计数保存在数据库本身中,然后在每次添加/删除操作中更新它

虽然firsts选项更简单,但它的可伸缩性较差,因为最终客户端将读取所有文档以确定计数。这就是为什么您会发现大多数关于计算文档的问题/文章都集中在第二种方法上

有关详细信息,请参阅:

  • 有关aggregation queries的Firestore文档
  • 关于{a2}的FielSt店文档,如果您的计数比每秒大约一次频繁更改,则需要考虑该文件。李>

相关问题 更多 >