无法读取firebase对象的值

时间:2016-06-19 15:43:34

标签: angularjs ionic-framework firebase

我正在尝试使用angularjs框架从我的离子应用程序中读取firebase中的值。我有下面的现有getPlayer函数,可以返回为特定用户存储的对象。我能够读取该对象中的键值对。

// Data Service
    .factory('dataService', ['$firebase', 'config', function ($firebase, config) {

        // Get Firebase reference
        var dataRef = new Firebase(config.firebaseUrl);

        // Get the Firebase object
        return $firebase(dataRef);

    }]);

这是getPlayer函数,它可以很好地返回一个对象。

    var users = dataService.$child('users');

    var getPlayer = function(playerId) {
      return users.$child(playerId);
    };

我正在尝试实施firebase安全规则,因此我不希望用户使用上述功能获取用户的所有信息。我编写了firebase规则,以便获取特定密钥' fullname'在用户下的玩家对象中。我在firebase模拟器中测试了授权规则来查询/ users / {playerid} / fullname,它运行正常。

以下是安全规则

中的相关firebase数据库结构
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
        "friends": {".read": "auth != null"},
        "fullname": {".read": "auth != null"}
      }
    }
  }
}

然后我尝试下面的函数,它只返回{" $ id:" fullname"}

var getPlayerFullname = function(playerId) {
  console.log(users.$child(playerId).$child('fullname'));
  return users.$child(playerId).$child('fullname');
};

当我检查控制台登录chrome时,我看到以下内容显示我在&$ 39; $ value'中找到的值。键。

enter image description here

0 个答案:

没有答案