有没有可能使用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做到这一点?
2条答案
按热度按时间lvjbypge1#
Firestore(像许多NoSQL数据库一样)没有内置的聚合查询。如果你想确定文档的数量,你有两个主要的选择:
1.读取所有文档,然后在客户端中进行计数。
1.将文档计数保存在数据库本身中,然后在每次添加/删除操作时更新它。
虽然第一种方法更简单,但它的可扩展性较差,因为您最终会让客户端阅读所有文档来确定计数。这就是为什么您会发现大多数关于计数文档的问题/文章都集中在第二种方法上。
有关此方面的更多信息,请参阅:
wb1gzix02#
2023年2月新增
Firestore现在已经在Python SDK中的查询和集合中添加了
count()
方法。用法
目前,文档中没有太多关于它的内容,但下面是我如何使用它的。
在6.1.0或更高版本中需要
firebase-admin
。初始化
统计集合中的文档数
查询统计单据数