我有这样的Firebase数据结构:
hotelboard
Events
-K09Iy9pa6FEA0rmmEMH
emailId:"said@gmail.com"
images
0:"data:image/png;base64,iVBORw0KGgoAAAANSUhEU"
post: "This is event 1"
title:"Event 1"
Facilities
-K09Ibsqz5L82PUoCEjY
emailId: "said@gmail.com"
post: "this is fac 1"
title: "Facility 1"
Offers
-K09IipPdR7We_D5Tzb9
emailId: "said@gmail.com"
post: "this is offer 1"
title: "Offer 1"
Restaurant
-K0O-kIJASIhOa_gWKWY
emailId: "said1@gmail.com"
post: "sdgsdgsdgasdasdasdd"
title: "sdgsgsdgsdg"
我正在从表格中按下拉列表添加活动,餐厅,优惠和设施。
在我以这种方式实现我的应用之前,我可以通过emailId过滤视图中的数据,这等于用户在登录时可以查看其帖子的登录用户名,这样:
var url = "https://hotelboard.firebaseio.com/";
var fb = new Firebase(url);
var fbObj = fb.startAt($scope.username).endAt($scope.username);
$scope.articles = $firebaseArray(fbObj);
并在我的视图中迭代数组。
但是在我用结构完成这个实现后,代码就不再工作了。
我不知道如何以我想查看的方式查询我的数据。我发现很多信息表明我可以使用
fb.child("Event").startAt........
但是我不想写child("child_name")....
我想要它动态地采用它在结构中是什么。
请提前帮助并表示感谢...
已解决更新
我按照 JAY 的建议添加了一个用户节点,该节点为每个用户提供了一个唯一的ID,在ID下我推送了我的数据。 所以我的数据结构现在看起来像这样:
hotelboard
users
0affbcbd-e29a-4b44-9036-e2086fb8d51e
Events
-K0YGDwJ4xgBjYql-39W +
-K0YGL7ziuRh-IioF8yC
emailId:"said@gmail.com"
post:"This is post 1"
title:"Post 1"
Facilities +
Restaurant +
19cc2166-6b1f-4ef9-8586-0735c6d92a4e
Events +
Offers +
Restaurant +
在我的控制器中,我过滤了每个用户只能发布自己帖子的数据
var fbObj = fb.child("users/").orderByKey().equalTo(fbAuth.uid);
感谢您提出建议 JAY
答案 0 :(得分:0)
<强>解决强>
我按照 JAY 的建议添加了一个用户节点,该节点为每个用户提供了一个唯一的ID,在ID下我推送了我的数据。所以我的数据结构现在看起来像这样:
hotelboard
users
0affbcbd-e29a-4b44-9036-e2086fb8d51e
Events
-K0YGDwJ4xgBjYql-39W +
-K0YGL7ziuRh-IioF8yC
emailId:"said@gmail.com"
post:"This is post 1"
title:"Post 1"
Facilities +
Restaurant +
19cc2166-6b1f-4ef9-8586-0735c6d92a4e
Events +
Offers +
Restaurant +
在我的控制器中,我过滤了每个用户只能查看自己帖子的数据
var fbObj = fb.child("users/").orderByKey().equalTo(fbAuth.uid);
感谢您提出建议 JAY