我只是删除一个以/ users / 为根的用户

这是我的代码:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
var adminApp = admin.initializeApp(functions.config().firebase);

exports.userRoleChange = functions.database.ref('/users/{uid}/role').onWrite(event => {
  const parentRef = event.data.ref.parent;
  return parentRef.once('value').then(function (snapshot) {
    if (snapshot) {
      console.log(snapshot.val());
    }
  });
});

这是日志

enter image description here

我从日志中看到的另一个有趣的事情是它被触发 twice .

我认为获得两次触发很好,因为它被重新创建,所以一次删除和一次创建,但我不明白为什么它首先被重新创建 .

函数使您可以在两个特定级别处理数据库事件;您可以专门监听创建,更新或删除事件,或者您可以侦听任何类型的路径更改 . Cloud 函数支持实时数据库的这些事件处理程序:onWrite(),它在实时数据库中创建,销毁或更改数据时触发 . onCreate(),在实时数据库中创建新数据时触发 . onUpdate(),在实时数据库中更新数据时触发 . onDelete(),在从实时数据库中删除数据时触发 .