所以我刚开始使用Firebase和AngularFire。我有这样的数据结构:
friends
-JzKr-mrv-O7rlxrMi3_
creator: "111181498675628551375"
description: "dsa"
name: "das"
--JzKrahnTf47MXp8nAZx
creator: "111181498675628551320"
description: "ddasdassa"
name: "dasdadsadas"
现在我想用参数创建者= "111181498675628551320"来查询。我该怎么做呢?我试过了:
.service('Friends', function ($firebase, store, $state) {
var friendsRef = new Firebase("url/friends");
friendsRef.authWithCustomToken(store.get('firebaseToken'), function (error, auth) {
if (error) {
// There was an error logging in, redirect the user to login page
$state.go('login');
}
});
var friendsSync = $firebase(friendsRef);
var friends = friendsSync.$asArray();
this.all = function () {
return friends;
};
this.getCreator = function(creator){
return friends.$getRecord(creator);
};
});
有没有人得到一些开发参考,我应该如何使用它?也许我应该打别的电话,而不是url/friends?
AngularFire是Firebase JavaScript SDK的包装器,它简化了将Firebase数据绑定到AngularJS视图的过程。如果在AngularFire文档中有不明显的地方,请参考Firebase JavaScript文档。
您可以在文档中阅读有关Firebase查询的所有内容。在这种情况下,您需要做的是使用Firebase的常规JavaScript SDK构建必要的查询:
var ref = new Firebase('https://yours.firebaseio.com/friends');
var query = ref.orderByChild('creator').equalTo('111181498675628551320');
然后你可以使用AngularFire $firebaseArray()
:
$scope.friends = $firebaseArray(query);