Firebase - 深入索引数据两个级别

时间:2016-09-12 17:20:31

标签: firebase firebase-realtime-database

我有一个Firebase数据结构,如下所示:

-messages
    -myFirstUsername
        -5-2-16 04:02:23 AM
            -message: 'messageOne',
            -direction: 'outgoing'
        -5-3-16 04:07:23 AM
            -message: 'messageTwo',
            -direction: 'outgoing'
    -mySecondUsername
        -5-4-16 04:02:23 AM
            -message: 'messageOne',
            -direction: 'outgoing'
        -5-5-16 04:02:23 AM
            -message: 'messageTwo',
            -direction: 'incoming'

我想使用messagedirection嵌套子键索引所有数据。由于messages对象下的用户名密钥是动态的,因此我需要在messages对象本身设置索引。

以下规则是否会将指数设置为两个级别?

{
  "rules": {
    "messages": {
      ".indexOn": ["message", "direction"]
    }
  }
}

1 个答案:

答案 0 :(得分:4)

您可以像这样指定动态.indexOn:

{
    "rules" : {
        "messages" : {
            "$userId": {
                ".indexOn" : ["message", "direction"]
            }
        }
    }
}

我似乎无法在新文档中找到它,但这里是旧文档描述:https://www.firebase.com/docs/security/api/rule/path.html