使用函数和Firestore时,当FieldValue未定义时
使用函数和Firestore时,当FieldValue未定义时
我有以下的函数:
const functions = require('firebase-functions'); const admin = require('firebase-admin'); const FieldValue = require('firebase-admin').FieldValue; module.exports = functions.firestore .document('students/{studentId}') .onDelete(event => { const student = event.data.previous.data(); const { id, semester } = student; const classId = student.class; const deleteObj = {}; deleteObj[id] = FieldValue.delete(); //Line 12, 这是发生错误的地方 return admin .firestore() .collection('semesters') .doc(semester) .collection('students') .doc(classId) .update(deleteObj); });
每次运行时我都会得到以下错误:
TypeError: Cannot read property 'delete' of undefined at module.exports.functions.firestore.document.onDelete.event (/user_code/deleteStudent.js:12:37)
查看文档,我真的看不出我做错了什么?
// 获取`FieldValue`对象 var FieldValue = require("firebase-admin").FieldValue; // 创建一个文档引用 var cityRef = db.collection('cities').doc('BJ'); // 从文档中删除'capital'字段 var removeCapital = cityRef.update({ capital: FieldValue.delete() });
更新
所以,使用Web等效似乎有效:admin.firestore.FieldValue.delete()
。但这似乎是一个错误,因为我在一个Node.js环境中?是否有任何Firebase用户可以确认或否认这种情况?我愿意提交一个错误报告。