我想区分删除的数据和首次创建的数据。
我正在使用Firebase中的代码:
if (event.data.previous.exists()) {
return;
}
// Exit when the data is deleted.
if (!event.data.exists()) {
return;
}
但是,它不起作用。我在听的数据库结构如下:
正在使用
fruitID
id:fruitID
我想在删除数据时使用代码,在创建数据时使用另一个代码,因此在添加水果时使用。
仅使用给定的代码中的部分
if (event.data.previous.exists()){
}
总是在删除数据时执行。
有什么建议么?
谢谢。
最佳答案
云功能具有可用于此特定工作流程的新触发器。
onWrite()
,在实时数据库中创建,销毁或更改数据时触发。
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
}
}