Я имею структуру следовать в моей базе данных firebase:
{
rooms: {
LKVmdIPX2_235ksf: {
members: {
poasj12O-s657-235a-1236-9832lksf976c: true
},
name: Room 1,
public: true
},
KS0sk21gleascm14: {
members: {
poasj12O-s657-235a-1236-9832lksf976c: true
},
name: Room 2,
public: true
}
},
users: {
poasj12O-s657-235a-1236-9832lksf976c: {
rooms: {
LKVmdIPX2_235ksf: true,
KS0sk21gleascm14: true
},
name: Filler
email: [email protected]
}
}
Для того, чтобы каждый номер от определенного пользователя (в данном случае пользователю = poasj12O-s657-235a-1236-9832lksf976c) Я сделано следующее:
$scope.rooms = {};
var ref = new Firebase('URL');
var userRef = ref.child('users').child(uid); // I'm manage to get the user's UID after login;
var roomRef = ref.child('rooms');
userRef.child('rooms').on('child_added', function(data) {
roomRef.child(data.key()).on('value', function(rData) {
console.log(rData.val()); // prints each room object
$scope.rooms = $firebaseArray(rData.ref());
});
});
Так что для того, чтобы иметь возможность отобразить эту информацию в представлении я попытался:
$scope.rooms = $firebaseArray(rData.ref());
проблема заключается в том, когда я console.log($scope.rooms)
Я просто получаю пустой объект, а также, если я положил его на вид {{rooms}}
, он даже показывает мне все комнаты, которые есть у пользователя.
Так как это мой вопрос, как я могу запросить конкретную информацию пользователя с моими собственными индексами и передать ее в $ firebaseArray, чтобы синхронизировать с моим представлением?
OBS: console.log(rData.val())
печатает нужные объекты, которые я хотел бы иметь в переменной $ scope.room.
Это ссылка, где я нашел «запрос» https://www.firebase.com/blog/2013-04-12-denormalizing-is-normal.html
Отличная структура данных! Вы ищете «расширение« $ firebaseArray »] (https://www.firebase.com/docs/web/libraries/angular/guide/extending-services.html#section-firebasearray). Я знаю, что Като написал здесь отличный ответ, но не может найти ссылку прямо сейчас. –
Найдено: http://stackoverflow.com/questions/30299972/joining-data-between-paths-based-on-id-using-angularfire. Вероятно, я помечаю ваш как дубликат. –