gpt4 book ai didi

firebase - 使用 Firestore Cloud Functions 进行计数

转载 作者:行者123 更新时间:2023-12-04 01:47:15 25 4
gpt4 key购买 nike

我喜欢用 Firestore 云功能计算子集合中的文档数量。

我的数据库看起来像这样:groups/{groupId}/members/{memberId}

我喜欢计算每个组的成员数量(memberId)。这意味着每个组可以有不同数量的成员,并且他们可以灵活地增加或减少。

会很高兴你的想法:-)。

最佳答案

我花了一段时间才开始工作,所以我想我会分享给其他人使用:

'use strict';

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();

exports.countDocumentsChange = functions.firestore.document('library/{categoryId}/documents/{documentId}').onWrite((change, context) => {

const categoryId = context.params.categoryId;
const categoryRef = db.collection('library').doc(categoryId)
let FieldValue = require('firebase-admin').firestore.FieldValue;

if (!change.before.exists) {

// new document created : add one to count
categoryRef.update({numberOfDocs: FieldValue.increment(1)});
console.log("%s numberOfDocs incremented by 1", categoryId);

} else if (change.before.exists && change.after.exists) {

// updating existing document : Do nothing

} else if (!change.after.exists) {

// deleting document : subtract one from count
categoryRef.update({numberOfDocs: FieldValue.increment(-1)});
console.log("%s numberOfDocs decremented by 1", categoryId);

}

return 0;
});

关于firebase - 使用 Firestore Cloud Functions 进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54808214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com