【发布时间】:2019-11-22 23:58:37
【问题描述】:
我正在尝试将 Firestore 字段的值每分钟增加 1,因此我创建了一个预定的云函数:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
const db = admin.firestore();
const ref = db.collection('count').doc('currentTrack');
export const everyMinuteJob = functions.pubsub
.schedule('every 1 minutes').onRun(context => {
ref.get().then( value => {
if (value.exists) {
const id = value.data().id + 1;
ref.update({ id });
}
});
});
部署此代码我收到以下错误:
错误 TS2532:对象可能是“未定义”: const id = value.data().id + 1;
我已经尝试了多种方法,但它们总是在错误中解决。
这种行为的正确方法是什么?
【问题讨论】:
-
我为您的直接问题提供了答案,但您将遇到另一个问题,即您没有处理
ref.update()返回的承诺。这个问题与你现在面临的问题无关,但它仍然是一个问题。 -
@DougStevenson 谢谢,我会仔细阅读!
标签: typescript firebase google-cloud-firestore google-cloud-functions