使用打字稿的云功能查询

Cloud function query with typescript

我正在尝试查询一个 firestore 字段(下拉列表)'Title'。我正在使用以下代码获取给定用户的 Title 总数,但我想应用过滤器并仅在 Title == Game 时获取计数。请帮忙。如何修改此功能以仅在满足此条件时设置计数器。

目前正在获取标题编号。

import * as admin from 'firebase-admin'
import * as functions from 'firebase-functions'


admin.initializeApp()

export const updateCharts = 
functions.firestore.document('users/{UserId}/count/{uid}')
.onWrite(async(change, _) => await updateStats(change))

async function updateStats (change: 
functions.Change<functions.firestore.DocumentSnapshot>){
const chartRating = change.after.ref.parent
let Title = 0


const docRefs = await chartRating.listDocuments()
for (const docRef of docRefs) {
    const snapshot = await docRef.get()
    const data = snapshot.data()
    if (data !== undefined) {
       
       
        Title++
    }
}

const restaurantRef = chartRating.parent!

console.log('{restaurantRef.path} now has ${Title}')
await restaurantRef.update({
    Title: Title,
    
})

}

替换这个

let Title = 0
const docRefs = await chartRating.listDocuments()
for (const docRef of docRefs) {
    const snapshot = await docRef.get()
    const data = snapshot.data()
    if (data !== undefined) {
       Title++
    }
}

let title = (await chartRating.where('Title', '==', 'Game').get()).size;

将 where 语句替换为您需要的条件。