2016-03-21 24 views
2

Ben ben yarışması kayıtlarını kaldırmak için çalışıyorum aşağıdaki kod:Firebase silme sorgu sonucu

 

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

 

Ben doğrulanmış kullanıcıya ait bir sınav silmek istediğiniz ve geçirilir aynı ada sahip sarıcı işlevine.

Testin referans URL'sini geçmem gerektiğini biliyorum, ancak kimliğin Firebase tarafından otomatik olarak oluşturulduğundan nasıl edinileceğinden emin değilim. Herkes bu konuda bana yardım edebilir misiniz

 

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" 
 

Gerçekten minnettar olurum:

Aşağıda benim veri düzeni bir örnektir.

cevap

4

Sadece anladım. RTFM'ye sahip olmalıyım.

 

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

Bunu kendi kendinize çözdüğünü duymak güzel. RTd'ye sahip olmanız gereken FM'e de bağlanabilirseniz iyi olur. :-) –

+0

"FM" ve "RT" nedir? Ayrıca, "data.ref.remove()" –

+0

"F ****** Manual'ı Oku" için Standları da kullanabilirsiniz.) – James