angularjs - Firebase 和 AngularJS 中的基本查询

标签 angularjs firebase firebasesimplelogin

我有一个看起来像这样的 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多变的。

那将如何实现?

最佳答案

我有一些建议:

  • 查看 Firebase Query documentation .具体来说,
  • .orderByChild()
  • .equalTo()
  • 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");
    });
    

    关于angularjs - Firebase 和 AngularJS 中的基本查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29833224/

    相关文章:

    javascript - 带有 jsonp 的 Angular $resource 不起作用

    javascript - 无法使用 Angular 中的本地存储将数据保留在范围内

    swift - Swift 可以从异步 Void 返回 block 返回值吗?

    ios - Auth.auth.currentUser.uid 即使登录有效也无法正常工作

    Firebase 弹出窗口在调用登录后关闭

    firebase - 为什么 Firebase 的 getAuth() 返回一个过期的对象

    javascript - 将 Basicprimitive 与 Angularjs 一起使用错误 : jQuery(. ..).orgDiagram 不是函数

    angularjs - Webpack FOSJsRoutingBundle 与 Symfony Flex 和 Angular 的集成

    javascript - ESLint发现太多警告(最大值:0),并且我无法在firebase函数上部署

    javascript - 使用 Facebook Firebase 简单登录获取电子邮件