我目前非常困惑为什么下面的代码运行不正常。我遵循以下步骤:https://firebase.google.com/docs/functions/get-started我就是无法触发第二个云函数makeUpperCase。如有任何帮助,我们将不胜感激!
exports.addMessage = functions.https.onRequest(async (req, res) => {
const original = req.query.text;
const writeResult = await admin.firestore().collection('messages').add({ original: original });
res.json({ result: `Message with ID: ${writeResult.id} added.` });
});
exports.makeUppercase = functions.firestore.document('/messages/{documentId}').onCreate((snap, context) => {
const original = snap.data().original;
functions.logger.log('Uppercasing', context.params.documentId, original);
const uppercase = original.toUpperCase();
return snap.ref.set({ uppercase }, { merge: true });
});
您必须在触发云函数代码之前部署它。只有在谷歌云中运行时,触发器才会对实际的数据库数据起作用。简单地在本地编写代码是行不通的,本地模拟器也不起作用。为了从Firestore中的实际文档数据中获得实际更改,必须部署代码。