【发布时间】:2019-11-04 21:19:04
【问题描述】:
我有一个名为dashboard 的根集合,在其中我有一个名为totalUserCountry 的文档。在本文档中,我有一个带有一堆国家/地区名称的属性。每个值都是一个数字。
这个想法是每次将新用户添加到数据库并添加 1 到总数时运行该函数。
但是,我遇到了一个错误。这是我的代码:
import * as functions from 'firebase-functions';
import admin = require('firebase-admin');
const db = admin.firestore();
export const onAddUser = functions.firestore.document('users/{userID}')
.onCreate(async (snapshot, context) => {
let snapCountry = snapshot.get('country');
snapCountry.toLowerCase();
return db.runTransaction(async transaction => {
const dashboardPath = db.collection('dashboard').doc('totalUserCountry');
const dashSnap = await transaction.get(dashboardPath);
const dashTotalUserData = dashSnap.data();
const changes = { snapCountry: dashTotalUserData.snapCountry + 1 };
})
});
我得到的错误是
对象可能是'未定义'.ts(2532)
const changes = { snapCountry: dashTotalUserData.snapCountry + 1 }; 语句中的 dashTotalUserData 会出现这种情况。
有什么提示或建议吗?
【问题讨论】:
-
是哪个物体向你抛出了这条线?
-
嘿@andresmijares
dashTotalUserDataconst changes = { snapCountry: dashTotalUserData.snapCountry + 1 };
标签: javascript node.js firebase google-cloud-firestore google-cloud-functions