Firebase 删除时触发

Jad*_*sta 1 firebase firebase-realtime-database google-cloud-functions

我正在尝试创建一个可以识别谁删除的功能,问题是我没有从 firebase 服务器得到任何答案,有人可以帮助我吗?谢谢

exports.deleteFunction = functions.database.ref('/clientes')
.onDelete((context) => {
  // Grab the current value of what was written to the Realtime Database.
  console.log("delete");
  console.log(context);
});
Run Code Online (Sandbox Code Playgroud)

这是正在删除的函数

confirm = (e) => {
 if (id_deleta) {
      firebaseDatabase.ref('/clientes/categorias/').child(id_deleta)
            .remove();
      notification('success', 'Excluido com sucesso');
      this.callCategoria();
  } else {
    notification('error', 'Ocorreu um erro, tente mais tarde');
  }
}
Run Code Online (Sandbox Code Playgroud)

sam*_*man 5

代码修正

onDelete事件处理程序定义

function(non-null functions.database.DataSnapshot, optional non-null functions.EventContext)
Run Code Online (Sandbox Code Playgroud)

所以在上面的代码中,.onDelete((context) => {应该是.onDelete((snapshot, context) => {.

获取已删除的ID

接下来,如果您尝试id_deletaonDelete事件中获取 的值,则可以使用var id_deleta = snapshot.key

exports.deleteFunction = functions.database.ref('/clientes')
.onDelete((snapshot, context) => {
  var id_deleta = snapshot.key;
  console.log("deleted ID %s", id_deleta); // logs "deleted ID 1234", etc.
  console.log(snapshot.val()); // logs the deleted data, no need for this
  console.log(context); // logs the event context
});
Run Code Online (Sandbox Code Playgroud)