Jor*_*ole 2 angularjs firebase angularfire firebase-realtime-database
考虑以下存储在 Firebase 中的数据:
{
"beers": {
"-jwhkclclmecl": {
"name": "Two Hearted Ale",
"type": "IPA",
"brewery": "Bells"
},
"-ckqjheh292od": {
"name": "Dirty Blonde Ale",
"type": "Pale Wheat",
"brewery": "Atwater"
},
"-hcwiu3cp902d": {
"name": "Diabolical",
"type": "IPA",
"brewery": "North Peak"
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以为 Firebase 构建查询以返回其中一个子节点的唯一值的数组。例如返回["IPA", "Pale Wheat"]
不,您不能在集合中查询每个项目的特定属性的唯一值。您可以过滤此类值,因此ref.child('beers').orderByChild('type').equalTo('IPA'). 但这不是你要问的。:-)
通常,如果您希望在 Firebase(或大多数其他 NoSQL 数据库)中执行此类操作,您会将项目(或项目的引用)保留在一个组下:
{
"beer_types": {
"IPA": {
"-jwhkclclmecl": {
"name": "Two Hearted Ale",
"brewery": "Bells"
},
"-hcwiu3cp902d": {
"name": "Diabolical",
"brewery": "North Peak"
}
},
"Pale Wheat": {
"-ckqjheh292od": {
"name": "Dirty Blonde Ale",
"brewery": "Atwater"
},
}
}
}
Run Code Online (Sandbox Code Playgroud)
当然,这仅在您只想将它们保留在一个类别中时才有效。如果您想要多个类别,您可以将每个项目的引用存储在多个类别下:
{
"beers": {
"-jwhkclclmecl": {
"name": "Two Hearted Ale",
"type": "IPA",
"brewery": "Bells"
},
"-ckqjheh292od": {
"name": "Dirty Blonde Ale",
"type": "Pale Wheat",
"brewery": "Atwater"
},
"-hcwiu3cp902d": {
"name": "Diabolical",
"type": "IPA",
"brewery": "North Peak"
}
}
"beer_types": {
"IPA": {
"-jwhkclclmecl": true,
"-hcwiu3cp902d": true
},
"Pale Wheat": {
"-ckqjheh292od": true
}
},
"breweries": {
"Bells": {
"-jwhkclclmecl": true
},
"Atwater": {
"-ckqjheh292od": true
}
"North Peak": {
"-hcwiu3cp902d": true
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3210 次 |
| 最近记录: |