Firebase 如何为firestore数据库调用onwrite事件侦听器函数?

Firebase 如何为firestore数据库调用onwrite事件侦听器函数?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,如何为firestore数据库调用onwrite事件侦听器函数?当firestore和firebase的数据库发生任何更改时,调用“onwrite”事件函数 functions.firestore .document('users/00QAGyS0NqFdDSS78E6r') .onWrite(event => { const commentId = event.params.commentId; const postId = event.

如何为firestore数据库调用onwrite事件侦听器函数?

当firestore和firebase的数据库发生任何更改时,调用“onwrite”事件函数

functions.firestore
    .document('users/00QAGyS0NqFdDSS78E6r')
    .onWrite(event => {

        const commentId = event.params.commentId;
        const postId = event.params.postId;

        // ref to the parent document
        const docRef = admin.firestore().collection('posts').doc();

        // get all comments and aggregate
        return docRef.collection('comments').orderBy('createdAt', 'desc')
            .get()
            .then(querySnapshot => {

                // get the total comment count
                const commentCount = querySnapshot.size

                const recentComments = []

                // add data from the 5 most recent comments to the array
                querySnapshot.forEach(doc => {
                    recentComments.push( doc.data() )
                });

                recentComments.splice(5)

                // record last comment timestamp
                const lastActivity = recentComments[0].createdAt

                // data to update on the document
                const data = { commentCount, recentComments, lastActivity }

                // run update
                return docRef.update(data)
            })
            .catch(err => console.log(err) )
});
您必须在firebase上部署此功能,并在firestore中添加、更新和删除数据

exports.eventTriggerUserData = functions.firestore
.document('users/{userId}')
.onWrite((change: any, context: any) => {
    /* Get user Id on which action perform
    const userId = context.params.userId; */

    /* Get data new data after action perform */
    const documentAfter = change.after.exists ? change.after.data() : null;

    /* Get data old data before action perform */
    const documentBefore = change.before.exists ? change.before.data() : null;
});