我正在查询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'"
}
}
}
以下是用户的数据结构
以下是Cars的数据结构