Firebase数据库查询列表不等于

时间:2017-08-09 14:44:14

标签: angular firebase firebase-realtime-database angularfire2

我在使用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的数据。

1 个答案:

答案 0 :(得分:0)

我认为如果更改数据结构会更容易,因此每个用户的密钥都是他们的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.
});