为什么我会收到此 Cloud Firestore 函数错误?

埃里克

我在Cloud Firestore 函数日志视图中收到此错误
我是 JavaScript 和 Firestore 的新手,可以在这方面使用一些建议

类型错误:event.data.previous.data 不是exports.onVisitorPres 的函数...

exports.onVisitorPresenceWrite = functions.database
    .ref("/VISITORS_PRESENCE/{uid1}/{uid2}").onWrite((event) => {
        // Get the data written or deleted on the Realtime Database
        var eventStatus = event.data.val();
        const previousData = event.data.previous.data();
        // If the onWrite event is a delete event then use previousData
        if(eventStatus == null){
            eventStatus = previousData;
        }
    });

我想要做的是.onWrite((event)在删除关键项目和添加新项目时使用Firebase 实时数据库键和 Firestore 函数触发器。我想我可以检查一下eventStatus == null,那就是当数据被删除时,我只需使用 previousData (在它被删除之前??)

格里姆索

event变量是 的一个实例,Event因此调用event.data将为DeltaDocumentSnapshotFirestore返回 a DeltaSnapshot为实时数据库返回 a

使用这些增量快照,您可以获得先前的值,previous将返回另一个DeltaDocumentSnapshotDeltaSnapshot包含触发写入事件之前的先前状态。

在您的示例中,您使用的是 Firebase 实时数据库触发器,这意味着event.data.previous将返回一个DeltaSnapshot,它不支持data(),而是支持val()

在这种情况下,你有做var eventStatus = event.data.val();,你需要调用val()previous

const previousData = event.data.previous.val();

如果您尝试使用 Firestore 触发器,则需要更改此设置:

functions.database.ref("[...]")

对此:

functions.firestore.document("[...]")

然后你可以使用event.data.previous.data().

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我会收到此错误?dest.on不是函数-使用gulp-file-include

接口/结构“未实现X,错误的类型或方法,不确定为什么我会收到此错误

为什么我会收到“ .then not function error”(。then不是函数错误)?

不知道为什么我会收到此错误:方法Illuminate \ View \ View :: paginate不存在?

为什么我会收到此错误

为什么我会收到此错误窗口表格?

分段错误 - 为什么我会收到此错误?

为什么我会收到此 Webpack 加载程序错误?

为什么我会收到此错误“NameError:name 'self' 未定义。”

为什么我会收到此错误 (NoMethodError)

为什么我会收到此语法错误:关键字不能是表达式

为什么我会收到此错误?

为什么我会收到此错误:在调用超类型构造函数之前无法引用“ViewHolder.itemView”

为什么我会收到此错误:ActiveRecord::AssociationTypeMismatch?

excel + vba + 编译错误 AutoOpenRequiredWorkbook (myFileNameToOpen, myFilePath) 无法弄清楚为什么我会收到此错误

即使在初始化之后,为什么我会收到此错误?

为什么我会收到此类的“缺少 1 个位置参数”错误?

不知道为什么我会收到此错误“SyntaxError: invalid token”?

为什么我会收到此错误:“参数不是数字或逻辑:返回 NA”?

为什么我会收到此错误 AttributeError: 'str' object has no attribute 'get' where get 函数在字典上?

为什么我会收到此错误:CSE 类没有名为 EnterRN 和 EnterName 的成员?

为什么我会收到此错误“令牌上的语法错误”;“,{ 预期在此令牌之后”

为什么我会收到此错误“系列的真值不明确”python

为什么我会收到此 Python 日期时间错误?

为什么我会收到此“主页未定义无未定义”错误

为什么我会收到“没有匹配的构造函数错误?

我试图接收用户的输入,但我不断收到此错误。为什么我会收到此错误?

为什么我会收到此错误?直到今天,这个日期函数在我的整个脚本中都运行良好

为什么我会收到此错误:地图不是函数