2017-10-28 14 views
0

ユーザーは、私がお子様連れのfirebaseスナップショットを取得するには?

のスナップショットを取得できるようにしたい検索フィールドに5133-01-329-5971を入力したとき、私はこの形式で enter image description here

をfirebaseデータ構造を持っています5133-01- 329-5971-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1508951718305

5133-01-329-5971-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1508966816945

彼らは、ユーザー入力の一致が含まれているため。

このコードは私のノード内のすべての子供たち

var itemdetailref = Cataloguedatabase.ref('/Listings/'); 

    return itemdetailref.once('value').then(function(snapshot){ 

    }) 

を与えるにはどうすれば5133-01-329-5971に一致するすべての子どものスナップショットを取得できますか?

答えて

0

あなたが探している特別な子供が1人だけいる場合は、この文字列をref varに入力することができます。このような何か:

let uid = "5133-01-329-5971"; 
let child = "-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1508966816945"; 
var itemdetailref = Cataloguedatabase.ref('/Listings/'+uid+child); 

return itemdetailref.once('value').then(function(snapshot){ 

}) 

しかし、あなたは複数のチャイルズを検索する場合、あなたの例で行うようにあなたはすべての子供を取得する必要があり、その後、ちょうどあなたのユーザーIDが含まれ、これらを取ります。次のようなもの:

var itemdetailref = Cataloguedatabase.ref('/Listings/'+uid+child); 

return itemdetailref.once('value').then(function(snapshot){ 
     snapshot.forEach(childSnapshot => { 
      let key = childSnapshot.key; 
      let uid = "5133-01-329-5971"; 
      //use ES6 includes function 
      if(key.includes(uid)){ 
       myFunction(childSnapshot.val()); 
      } 
     }); 
}) 
関連する問題