我有一个看起来像这样的 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');
这会引入我可以访问的所有作业,但我需要以某种方式对其进行过滤,然后将该变量绑定(bind)到
$scope.Jobs
多变的。那将如何实现?
最佳答案
我有一些建议:
.orderByChild()
.equalTo()
因此,您可以通过组合
.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");
});
关于angularjs - Firebase 和 AngularJS 中的基本查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29833224/