Firebase删除查询结果

时间:2016-03-21 21:07:56

标签: javascript firebase

我有以下代码,我试图删除测验记录:


  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"
 

如果有人能帮我解决这个问题,我真的很感激。

1 个答案:

答案 0 :(得分:4)

我已经明白了。我应该有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();
      }
    });
  });