javascript - Firebase 请求行范围

标签 javascript html firebase firebase-realtime-database

我每分钟存储用户的lat、lng、timestamp。 我只想读取基于时间戳的部分数据。我尝试过以下查询,但没有成功。另请检查我的示例数据库的附件。

enter image description here

function queryLocations(){  
var ref = firebase.database()
                  .ref('user-locations/' + currentUID)
                  .orderByChild('timestamp')
                  .startAt('1501061958000')
                  .endAt('1501062154000')
                  .on("child_added",function(data){
                       c = c+1;
                       locationCountElement.textContent = '' + c;
                  });
firebaseLocRef = ref;
}

因此,我将 startTimestampendTimestamp 作为输入。我只需要在 startTimestampendTimestamp 之间包含 timestamp 的行。

我的 firebase 规则如下所示

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
    "user-locations":{
      "$uid": {
         ".indexOn": "timestamp"
       }
    } 
  }
}

最佳答案

您需要startAt()endAt():

var query = firebase.database()
                    .ref('user-locations/' + currentUID)
                    .orderByChild('timestamp')
                    .startAt(startTimestamp)
                    .endAt(endTimestamp)
                    .on("child_added", function(data) {

更新:在更新的代码中,您将时间戳作为字符串传递。但在数据库中它们存储为数字,因此您还必须在查询中使用数字:

              .startAt(1501061958000)
              .endAt(1501062154000)

关于javascript - Firebase 请求行范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45349392/

相关文章:

javascript - 如何将参数从后台脚本传递到 chrome 扩展中的内容脚本?

javascript - 如何从打开 Google 电子表格文档时始终执行的无限循环中停止 Google 应用程序脚本?

javascript - 切换具有相似 ID 的子元素的父 DIV 以计算其价格

html - 我怎样才能有一个渐变背景,它后面有一个纯色延伸到页面底部?

ASP.NET - Server.HtmlEncode 将哪些字符编码为命名字符实体

javascript - 使用 Jquery 动态加载新内容

html - 水平对齐不同行号的 <li>

firebase - "Error: 13 INTERNAL: An internal error occurred"有时发生在 firebase-function 的触发器中

iOS swift : retrieve an entry from the database for the user currently logged in

firebase - 如何使用测试模式而不是锁定模式重新创建 Firebase Firestore 数据库