如何在Firebase中为indexon unix时间戳设置运行?

时间:2016-09-28 10:07:41

标签: firebase firebase-realtime-database firebase-security

我的路径在Firebase中的显示方式:

/test/minute/us/1399855161.json  {"me":1.12182333333,"you":1.12167,"event_count":3}

/test/minute/we/1399855161.json  {"me":1.12182333333,"you":1.12167,"event_count":3}

如何设置规则,以便根据Firebase中的时间戳进行索引,其中1399855161是unix时间戳?

目前我有以下内容:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
    "local": {
      ".indexOn": ["us","we"]
    }
  }
}

我想根据日期范围进行查询。感谢。

1 个答案:

答案 0 :(得分:2)

看起来你的时间戳是你的钥匙。这些已经编入索引,因此您不必为它们显式添加索引。来自documentation

  

节点的密钥会自动编入索引,因此无需显式索引。

您可以通过以下方式查询:

var now = Date.now(),
    yesterday = now - 24*60*60*1000,
    tomorrow = now + 24*60*60*1000,
    query = ref.child("/test/minute/us")
               .orderByKey()
               .startAt(""+yesterday)
               .endAt(""+tomorrow");