【问题标题】:Firebase Database query list for not equal toFirebase 数据库查询列表不等于
【发布时间】:2017-08-09 14:44:14
【问题描述】:

我在使用 AngularFire2 的 Angular 4 应用程序中使用 Firebase。我的数据库结构是这样的。

{
  "users": {
    "-Kr6HDbj9tMxmxsQ8UnM": {
      "name": "abc",
      "email": "xyz@example.com",
      "uid": "XLTPwGtFYcX6xVHbJGerHxGayT2"
    },
    "-Kr6JBzN_9PZAMctYwt-": {
      "name": "pqr",
      "email": "pqr@example.com"
      "uid": "cdIj8YOncYYiUIEJrb65ynfFcl2"
    },
    ............
  }
}

我想检索此数据结构的最后两个条目,但排除 uid 不等于 auth.uid 的数据。

【问题讨论】:

    标签: angular firebase firebase-realtime-database angularfire2


    【解决方案1】:

    我认为如果你改变数据结构会更容易,这样每个用户的键就是他们的 uid,就像这样。

    {
    "users": {
        "XLTPwGtFYcX6xVHbJGerHxGayT2": {
          "...": ".........",
          "...": "........."
        },
        "cdIj8YOncYYiUIEJrb65ynfFcl2": {
          "...": ".........",
          "...": "........."
        }
    }
    

    然后您可以轻松访问特定用户的属性 与https://firebase.google.com/docs/reference/js/firebase.database.Reference#once

    例子

    var ref = firebase.database().ref("users/"+auth.uid);
    ref.once('value')
        .then(function(dataSnapshot) {
        // handle read data.
    });
    

    【讨论】:

    • 嘿,Kim,我不想要整个 users 数据中的两个条目,除了其中 uid 不等于 auth.uid 的 pushId
    • 如果我理解正确的话。你只想要uid不等于auth.uid的用户的pushId?
    • Kim 你是对的,但我也想要那个 pushId 的数据。
    • 所以你想要最后 2 个 uid 不等于 auth.uid 的新用户?
    • 再次查看帖子。现在假设auth.uid of user = "cdIj8YOncYYiUIEJrb65ynfFcl2"。现在我想要用户密钥中所有 pushId 的数据,除了 pushId -Kr6JBzN_9PZAMctYwt 的数据 - 如果用户 pqr 已登录,我想说的是我想要用户 abc 的数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 2017-11-24
    • 2019-07-28
    • 1970-01-01
    相关资源
    最近更新 更多