gpt4 book ai didi

javascript - 在 firebase 云函数触发器上添加异常(exception)

转载 作者:行者123 更新时间:2023-12-01 02:23:05 24 4
gpt4 key购买 nike

在社交应用程序中,我有一个云功能,每当帖子被点赞时(也就是说,每当更新以下引用时)都会更新“点赞”计数器:

/likes/{postId}/{userid}

'countOfLikes' 与通配符 {userId} 处于同一级别:

exports.countLikeChange = functions.database.ref('/likes/{postId}/{userid}').onWrite(event => {
const collectionRef = event.data.ref.parent;
var counterRef = collectionRef.child('countOfLikes');


return collectionRef.once('value').then(messagesData => counterRef.set(messagesData.numChildren() - 1));
});

使用我当前的代码,当用户喜欢某个帖子时,首先触发该函数来更新 countOfLike,进而触发相同的函数执行相同的操作...

有没有办法指定排除项,以便在 {userId} == 'countOfLikes' 时不会触发该函数?

我知道我可以使用 onCreate 而不是 onWrite,但您必须知道在我的应用程序中,一个用户也可以删除他的“喜欢”。

最佳答案

无法排除特定子项触发函数。

如果您发现有这种需要,通常意味着您已经组合了应单独保存的数据类型。

例如,我希望您的点赞数完全位于一个单独的节点中,例如/likeCounts/$postId。如果您这样构造它,则更新新类似的计数将不会重新触发该函数。

关于javascript - 在 firebase 云函数触发器上添加异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49052905/

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