Firebase 删除查询结果

Firebase delete query result

本文关键字:结果 查询 删除 Firebase      更新时间:2023-09-26

我有以下代码,我正在尝试删除测验记录:


  var authref = new Firebase("https://.firebaseio.com");
  var authData = authref.getAuth();
  var ref = new Firebase("https://.firebaseio.com/quiz");
  ref.orderByChild("uid").equalTo(authData.uid).on("value", function(snapshot) {
    snapshot.forEach(function(data) {
      var record = data.val(); 
      if(record["name"] == name)
      {
         ref.remove(record.ref());
      }
    });
  });

我想删除属于经过身份验证的用户且具有传递给包装器函数的相同名称的测验。

我知道我需要传递测验的参考网址,但我不确定如何获取 ID,因为它是由 Firebase 自动生成的。

下面是我的数据布局示例:


quiz
 -KDATEVU4fU5OF55fCbP
 -KDOIReUla7Fj1K62x7S
 -KDOJ-oI0JYmCdWrqrx_
 -KDPr7deQ5BHQcTwQ_cG
    name: "question"
    passcode: "9876"
    questions
      -KDPr82WcFw-jfuPz3T1
         0
          ans: "s"
          attempts: 0
          correct: 0
          qtext: "a"
          wrong1: "d"
          wrong2: "f"
          wrong3: "g"
          uid: "1f72bd29-967c-446d-a6b9-37ec9de540e0"
 

如果有人能帮助我解决这个问题,我将不胜感激。

我刚刚想通了。我应该有RTFM。


var authref = new Firebase("https://.firebaseio.com");
  var authData = authref.getAuth();
  var ref = new Firebase("https://.firebaseio.com/quiz");
  ref.orderByChild("uid").equalTo(authData.uid).on("value", function(snapshot) {
    snapshot.forEach(function(data) {
      var record = data.val(); 
      if(record["name"] == name)
      {
        ref.child(data.key()).remove();
      }
    });
  });