我正在尝试将电子表格与Firebase数据库同步。我为要同步的数据库写了一个onupdate函数。
我在https://firebase.google.com/docs/functions/local-emulator?authuser=0上了解了有关调试自己的函数的信息
我在Cloud Firestore中有一个数据库, 表名:职员 字段:名称
我运行了firebase函数:shell
copyNamesToSheet({之前:{'P_KEY':{名称:'old'}},之后:{'P_KEY':{名称:'sadashiv'}}})
这将新值Sadashiv成功推向了表
export const copyNamesToSheet = functions.database.ref('/Staff').onUpdate(async change => {
const data = change.after.val();
let names : any[][]=[['test']];
let count = 0;
_.map(data, function(value) {
names[count][0] = value['Name'];
count = count+1;
});
//console.log(names);
await jwtAuthPromise;
sheets.spreadsheets.values.update({
auth: jwtClient,
spreadsheetId: spreadsheetId,
range: 'Staff!A2:C100', // update this range of cells
valueInputOption: 'RAW',
requestBody: { values: names }
}, function (err : any, response : any) {
if (err) {
console.error(err);
return;
}
});
})
我期望在部署该功能时也会发生同样的情况。部署后,我不知道它在哪里失败。显然,数据变量是不同的,但是在修改数据库时调用该变量时,我找不到一种简单的方法来查找变量的值。我读到有关日志记录的内容,但对我没有任何帮助。我想查找传递给更新函数的data变量的值,以便修改代码以处理并推送到工作表。