Я пытаюсь получить все данные о цвете, принадлежащие определенному пользователю, в данном случае simplelogin: 69.Извлечение денормированных данных с помощью firebase, angularFire
Я начинаю с извлечения ключей цветов от пользователя, например:
/users/simplelogin:69/flowers/
var ref = new Firebase("https://URL.firebaseio.com/users/"+uid+"/flowers");
var sync = $firebase(ref);
Теперь им застрял выяснить чистый способ для извлечения всех данных цветов обернув thrue каждый цветок ключ от simplelogin: 69 без петли thrue КАЖДЫЙ ключ в/цветы/(в приведенном ниже примере у меня есть только три цветочных ключа, но в производстве у меня может быть 10k).
Я пробовал FirebaseIndex и firebase-util, но не могу заставить его работать правильно. У кого-нибудь есть какие-то советы или что-то еще? Я читал предыдущие сообщения в стеке, но большинство из них устарело или не подходит для того, что им нужно. Будет действительно appriciate все, что можно решить с помощью AngularFire.
С наилучшими пожеланиями, Элиас
{
"flowers" : {
"-JiU57sFAfQwYtIq-LCl" : {
"image" : "test",
"name" : "test",
"type" : "Roses",
"uid" : "simplelogin:69"
},
"-JiU9-3ajlnFLpyUmBvL" : {
"image" : "dasdasd",
"name" : "sadasdas",
"type" : "Roses",
"uid" : "simplelogin:69"
},
"-JiUF-mioK3jQCYy6ZiG" : {
"image" : "ss",
"name" : "ss",
"type" : "Lilies",
"uid" : "simplelogin:69"
}
},
"users" : {
"simplelogin:69" : {
"flowers" : {
"-JiU57sFAfQwYtIq-LCl" : true,
"-JiU9-3ajlnFLpyUmBvL" : true,
"-JiUF-mioK3jQCYy6ZiG" : true
}
},
"simplelogin:70" : {
},
"simplelogin:71" : {
}
}
}
Ваша структура данных выглядит нормально для меня. Чтобы получить информацию о цвете для simplelogin: 69, вы должны сделать один запрос для цветовых ключей пользователей в 'users/simplelogin: 69/flowers', а затем 3 запроса на каждый из узлов цветочных данных под' flowers/{id} '. Это 3 для 3 в этом примере, но будет только 3 для 10K, поскольку вы описываете свой производственный набор данных. Я боролся с этой концепцией в Firebase, так как математика в области компьютерных наук [0, 1, n], и понятие выполнения 4 поисков кажется абсолютно пугающим, но на практике это может быть очень хорошо. Сколько цветов у типичных пользователей? – James
Спасибо за ответ @JamesWing Я считаю, что типичный пользователь будет иметь по 100-200 цветов каждый, знаете ли вы, что вы можете сделать несколько запросов на разные узлы с помощью angularFire и связать их с изменениями в firebase (например, если пользователь реклама другого цветка, это принесет это также). – Elias