从Firebase DB检索数据需要太长时间(20秒)

时间:2016-09-16 14:10:08

标签: firebase firebase-realtime-database firebase-storage

我正在查询Firebase DB中的两个表,查询cars表时我立即得到firebase的响应(大约一秒钟)但查询users表时需要大约20秒才能获得响应。 用户和汽车表每个都有大约6条记录,两者都有类似的数据库规则(请参见下文)。 还请在两个表中找到数据结构。 有人可以在我可能出错的地方提出建议吗?

查询users表的代码:

var usersRef = firebase.database().ref('users'); 
usersRef.on('value', function(dataSnapshot) {
  $scope.usersList = [];
  var usersObject    =   dataSnapshot.val();
    for(key in usersObject){
      var userObject = usersObject[key];
      $scope.usersList.push(userObject);
    }
})

查询cars表的代码:

var ref = firebase.database().ref('cars');
ref.on('value', function(dataSnapshot) { 
  var carObjects   =   dataSnapshot.val();
  $scope.carsList = [];
  for(key in carObjects){
    var carObject = carObjects[key];
      $scope.carsList.push(carObject);
  }
})

数据库规则:

{
  "rules": {
    "users": {
      ".read":  "auth != null ",
      ".write": "auth != null && root.child('users').child(auth.uid).child('userType').val() === 'Admin'"
    },
    "cars": {
      ".read":  "auth != null ",
      ".write": "auth != null && root.child('users').child(auth.uid).child('userType').val() === 'Admin'"
    }
  }
}

以下是用户的数据结构

Users Data Structure

以下是Cars的数据结构

Cars Data Structure

0 个答案:

没有答案