我是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 } } }
现在您可以查询目的地Jordan的用户:
var users = ref.child('advisors-countries').orderByChild('destinations/Jordan') .equalTo(true);
然后使用以下命令将其绑定到AngularJS范围:
$scope.users = $firebaseArray(users);
这种类型的数据结构称为索引,您经常会发现需要向NoSQL数据库添加特定索引以满足应用程序的查询要求 . 有关该主题的详细介绍,请参见article on NoSQL data modeling .
1 回答
Firebase没有与数组中的项匹配的查询运算符 . 实际上:Firebase建议不要使用阵列来处理您拥有的阵列 . 相反,存储这样的数据:
现在您可以查询目的地Jordan的用户:
然后使用以下命令将其绑定到AngularJS范围:
这种类型的数据结构称为索引,您经常会发现需要向NoSQL数据库添加特定索引以满足应用程序的查询要求 . 有关该主题的详细介绍,请参见article on NoSQL data modeling .