Firebase 和 AngularJS 中的基本查询
Basic Queries in Firebase and AngularJS
我有一个看起来像这样的 Firebase:
{
"jobs" : {
"-Jnbc60FQGiKUubz0u6e" : {
"Description" : "The sink has a leaky faucet!",
"uid" : "simplelogin:4"
},
"-Jnbc60FQGiKUubz0u6e" : {
"Description" : "The microwave is broken",
"uid" : "simplelogin:6"
},
"-Jnbc60FQGiKUubz0u6e" : {
"Description" : "Window Cracked",
"uid" : "simplelogin:6"
},
}
}
我想了解 Firebase 中的查询,但我真的很困惑。
我想要做的是这个 SQL 查询的等价物:
SELECT * FROM jobs WHERE uid="simplelogin:6"
这是我在 Angular 的位置:
var firebase = new Firebase(firebaseURL);
var jobs = firebase.child('jobs');
// BIND FIREBASE DATA TO LOCAL VARIALBES FOR 3 WAY DATA BINDING
$firebaseObject(jobs).$bindTo($scope, 'Jobs');
这会提取我可以访问的所有作业,但我需要以某种方式对其进行过滤,然后将该变量绑定到 $scope.Jobs
变量。
如何实现?
我有一些建议:
- 查看 Firebase Query documentation。具体来说,
- 还有 Querying Data section of 'Retrieving Data' in the Web Guide
因此,您可以像这样组合 .orderByChild()
和 .equalTo()
来实现您的目标:
var firebaseRef = new Firebase(firebaseURL);
var userId = "simplelogin:6";
var jobs = firebaseRef.child("jobs").orderByChild("uid").equalTo(userId);
var jobsObject = $firebaseObject(jobs);
jobsObject.$bindTo($scope, "jobs").then(function(){
console.log("jobsObject bound to $scope.jobs");
});
我有一个看起来像这样的 Firebase:
{
"jobs" : {
"-Jnbc60FQGiKUubz0u6e" : {
"Description" : "The sink has a leaky faucet!",
"uid" : "simplelogin:4"
},
"-Jnbc60FQGiKUubz0u6e" : {
"Description" : "The microwave is broken",
"uid" : "simplelogin:6"
},
"-Jnbc60FQGiKUubz0u6e" : {
"Description" : "Window Cracked",
"uid" : "simplelogin:6"
},
}
}
我想了解 Firebase 中的查询,但我真的很困惑。
我想要做的是这个 SQL 查询的等价物:
SELECT * FROM jobs WHERE uid="simplelogin:6"
这是我在 Angular 的位置:
var firebase = new Firebase(firebaseURL);
var jobs = firebase.child('jobs');
// BIND FIREBASE DATA TO LOCAL VARIALBES FOR 3 WAY DATA BINDING
$firebaseObject(jobs).$bindTo($scope, 'Jobs');
这会提取我可以访问的所有作业,但我需要以某种方式对其进行过滤,然后将该变量绑定到 $scope.Jobs
变量。
如何实现?
我有一些建议:
- 查看 Firebase Query documentation。具体来说,
- 还有 Querying Data section of 'Retrieving Data' in the Web Guide
因此,您可以像这样组合 .orderByChild()
和 .equalTo()
来实现您的目标:
var firebaseRef = new Firebase(firebaseURL);
var userId = "simplelogin:6";
var jobs = firebaseRef.child("jobs").orderByChild("uid").equalTo(userId);
var jobsObject = $firebaseObject(jobs);
jobsObject.$bindTo($scope, "jobs").then(function(){
console.log("jobsObject bound to $scope.jobs");
});