2016-03-21 16 views
2

I持って私はクイズのレコードを削除しようとしている次のコード: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()); 
     } 
    }); 
    }); 

 

は私が認証されたユーザーに属するクイズを削除すると、渡された同じ名前を持ちますラッパー関数に渡します。

私はクイズの参照URLを渡す必要があることを知っていますが、Firebaseによって自動生成されるため、IDを取得する方法がわかりません。以下は

は私のデータレイアウトの例である:

 

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" 
 

誰もがこれで私を助けることができれば、私は本当に感謝されると思います。

答えて

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(); 
     } 
    }); 
    }); 
 
+5

あなた自身でそれを理解していただきありがとうございます。あなたがRTdにすべきであったFMにリンクすることができればいいと思います。 :-) –

+0

「FM」と「RT」とは何ですか?また、 'data.ref.remove()'を使うこともできると思います。 –

+0

"Read the F ****** Manual"の略: – James