2017-08-03 15 views
0

firebaseから返されるデータの数を制限しようとしていますが、現在は明らかに良くないすべてのものを取り戻しています。Firebase .limitToFirst()が機能していません

最新の10行を取り戻すことはできますか?私はlimitToFirst(限界)を見ていましたが、私のコードで構文がうまくいかないことがありました。どんな助け?おかげ

現在の作業コード:

var myDataRef = new Firebase("https://xxxxx.firebaseio.com/"); 
     $('#btnSubmit').click(function() { 
     var u = $('#nameIpt').val(); 
     var m = $('#msgIpt').val(); 
     myDataRef.push({name: u, text: m}); 
     $('#msgIpt').val(''); 
     }); 

     myDataRef.on('child_added', function(snapshot) { 
     var msg = snapshot.val(); 
     displayMsg(msg.name, msg.text); 
     }); 

私は、次の

var myDataRef = new Firebase("https://xxxxx.firebaseio.com/"); 
     $('#btnSubmit').click(function() { 
     var u = $('#nameIpt').val(); 
     var m = $('#msgIpt').val(); 
     myDataRef.push({name: u, text: m}); 
     $('#msgIpt').val(''); 
     }); 
     myDataRef.limitToFirst(10).on('child_added', function(snapshot) { 
     var msg = snapshot.val(); 
     displayMsg(msg.name, msg.text); 
     }); 
+0

あなたの現在のコードは 'limitToFirst'を使用していません。あなたは何を試してみることができますか? –

+0

は私が試したもので更新されました – BCLtd

+0

コンソール内のメッセージはありますか? https://firebase.google.com/docs/database/web/lists-of-data#filtering_dataに基づいて、代わりにlimitToLastを使用する必要があります –

答えて

1

を試してみましたあなたはここにorderByChild()orderByValue()orderByKey()またはorderByPriority()のいずれかが欠落しています。

あなたはendAt()startAt()equalTo()isEqual()limitToFirst()limitToLast()を使用する前に、それらの上のいずれかを追加する必要があります。

例:

myDataRef.orderByChild(refChild).limitToFirst(10).on('child_added', function(snapshot) { 
    var msg = snapshot.val(); 
    displayMsg(msg.name, msg.text); 
}); 
+0

こんにちは、myDataRef.orderByKeyは関数ではないと言います – BCLtd

+0

それはどういう意味ですか?代わりにorderByChild()を実行してください。 – UmarZaii

+0

返信いただきありがとうございます。コンソールでは、エラーメッセージが表示されます。編集した回答と同じ – BCLtd

関連する問題