Firebase .limitToFirst()无效

时间:2017-08-03 23:02:30

标签: javascript firebase firebase-realtime-database

我试图限制从firebase返回的数据的数量,目前它带回了显然不好的一切。

是否可以带回最新的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);
      });

1 个答案:

答案 0 :(得分: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);
});