2015-09-29 180 views
2

下创建的关键属性索引规则我存储我的火力地堡数据与格式火力地堡 - 由ChildAutoById

{ 
    "list": [ 
    "id created by Firebase": { 
     "foo": "bar" 
    }, 
    "another id created by Firebase": { 
     "foo": "bar" 
    }, 
    ... 
    ] 
} 

我想在foo创建索引,利用火力地堡规则。 但是,根据Firebase文档,我需要知道由Firebase创建的特定ID以放入规则规范。 有谁知道一种方法来解决这个问题?

回答

6

你不需要知道具体的ID,这是不可能的。您只需要在父节点上有一个.indexOn规则。 https://www.firebase.com/docs/security/guide/indexing-data.html

{ 
    "rules": { 
    "list": { 
     ".indexOn": ["foo"] 
    } 
    } 
} 

如果您需要添加额外的规则的孩子,那么你添加这些通常像这样:

{ 
    "rules": { 
    "list": { 
     ".indexOn": ["foo"], 

     "$item": { 
     "foo": { 
      ".validate": "newData.isString()" 
     } 
     } 

    } 
    } 
}