我想区分已删除和首次创建的数据。 我正在使用Firebase中的代码:
if (event.data.previous.exists()) {
return;
}
// Exit when the data is deleted.
if (!event.data.exists()) {
return;
}
然而,它不起作用。我正在收听数据库,其结构如下:
我想在删除数据时使用代码,在创建数据时使用其他代码,因此在添加水果时。
仅使用给定代码
中的部分if (event.data.previous.exists()){
}
执行并且在数据被删除时始终执行。
有什么建议吗?
感谢。
答案 0 :(得分:1)
云功能具有可用于此特定工作流程的新触发器。
onCreate()
,它在实时数据库中创建,销毁或更改数据时触发。
onUpdate()
,在实时数据库中创建新数据时触发。
onDelete()
,在实时数据库中更新数据时触发。
onDelete
,在从实时数据库中删除数据时触发。
您可以创建两个触发器,onCreate
和onWrite
。
否则,如果您想在一个函数中创建它,可以使用export listener = functions.database.ref('/fruit/{fruitId}').onWrite(event => {
if (!event.data.previous.exists()) {
// Created Event - Previous data doesn't exist.
} else if (!event.data.exists()) {
// Deleted Event - Data doesn't exist.
} else {
// Update
}
}
INSERT