gpt4 book ai didi

javascript - onDelete 数据库触发器未被调用

转载 作者:行者123 更新时间:2023-12-03 02:23:48 28 4
gpt4 key购买 nike

我有两个相互抵消的云函数,如下所示:

    exports.onPostLiked = functions.database.ref('userpostlikescomments/{uid}/{pushId}/likes/list/{uid2}')
.onCreate(event => {
//runs w/o error
const numsRef = event.data.ref.parent.parent.child('num');
numsRef.transaction(currentData => {
return (currentData || 0) + 1;
});
});

exports.onPostUnliked = functions.database.ref('userpostlikescomments/{uid}/{pushId}/likes/list/{uid2}')
.onDelete(event => {
const numsRef = event.data.ref.parent.parent.child('num');
numsRef.transaction(currentData => {
return (currentData || 0) - 1;
});
});

onPostLiked 被调用并工作,但是当我删除刚刚在指定路径创建的内容时,根本不会调用 onPostUnliked 函数。为什么会出现这种情况?

我执行了以下操作来添加和删除节点:

enter image description here我去了想要的节点 enter image description here我向列表中添加了另一个元素,元素数量已更新 enter image description here我们可以看到onPostLiked云函数被调用,注意时间 enter image description here然后我们删除创建的节点 enter image description hereonPostUnLiked 没有被调用,再次注意时间 enter image description here元素数量未更新

最佳答案

更改onDelete()中的路径,从此:

ref('userpostlikescomments/{uid}/{pushId}/likes/list/{uid2}')

对此:

ref('userpostlikescomments/{uid}/{pushId}/likes/list/two')

当您删除该项目时,它将被触发。

此外,最好使用 console.log 来记录正在添加的内容或您所在的路径。

关于javascript - onDelete 数据库触发器未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49044073/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com