use*_*050 1 javascript angularjs firebase firebase-realtime-database
我是 Firebase 的新手,我有一个关于检索一些数据的问题。假设我有以下数据结构:
我查询的目标是针对给定的国家/地区名称,我想检索其目的地数组包含该国家/地区的所有用户。例如:对于“Jordan”的查询,它将检索:user2 和 user3。
有人知道如何使用 Firbase Angular 进行这样的查询吗?
Firebase 没有与数组中的项目匹配的查询运算符。事实上:Firebase 建议不要在您遇到的情况下使用数组。相反,像这样存储数据:
advisors-countries: {
user1: {
destinations: {
Angola: true,
Australia: true
}
},
user2: {
destinations: {
Angola: true,
Austria: true,
Jordan: true
}
},
user3: {
destinations: {
Austria: true
Egypt: true,
Jordan: true
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用以下命令查询具有目标 Jordan 的用户:
var users = ref.child('advisors-countries').orderByChild('destinations/Jordan')
.equalTo(true);
Run Code Online (Sandbox Code Playgroud)
然后将其绑定到您的 AngularJS 范围:
$scope.users = $firebaseArray(users);
Run Code Online (Sandbox Code Playgroud)
这种类型的数据结构称为索引,您经常会发现需要向 NoSQL 数据库添加特定索引以满足应用程序的查询要求。请参阅这篇关于 NoSQL 数据建模的文章,以获得有关该主题的良好介绍。
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |