Verilerim denormalized ve firebase ekibi tarafından önerilen gibi bir ters indis kullanır. Benzer şey:Firebase Veritabanı - Çoklu Girişleri Geri Al
{
"users": {
"alovelace": {
"name": "Ada Lovelace",
// Index Ada's groups in her profile
"groups": {
// the value here doesn't matter, just that the key exists
"techpioneers": true,
"womentechmakers": true
}
},
...
},
"groups": {
"techpioneers": {
"name": "Historical Tech Pioneers",
"members": {
"alovelace": true,
"ghopper": true,
"eclarke": true
}
},
...
}
}
Artık tüm Ada gruplarını yüklemek istiyorum. Kullanıcı nesnesinin bir parçası olduğu için ait olduğu grup kimliklerini kolayca alabilirim.
Tüm Ada'nın belirli gruplarını bir kerede ID ile sorgulamamın bir yolu var mı? Veya grup kimliği başına bir ValueEventListener
oluşturmam ve her bir grubu ayrı olarak talep etmem gerekiyor mu?
Güvenlik tarafında - her grubun yalnızca üyeleri tarafından okunabileceğini varsayalım, bu yüzden tüm grupları sorgulayamıyorum ve bunları sonra sıralayamıyorum.
Çoğu uygulamalar ve tek tek her grup yükleyin. Firebase veritabanı taleplerini aktardığı için bu büyük bir performans tahliyesi değil. Http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-query-instead-of-obse/35932786#35932786 –
@FrankvanPuffelen Do demek istediğim, listeden geçip her biri için bir “ValueEventListener” kurarsam, DB, verileri kendi başına alma şeklini optimize eder mi? Veya verileri belirli bir şekilde talep etmek zorunda mıyım? –
Tüm istekler aynı bağlantıdan geçer. Get (1) ',' get (2) ',' get (3) 've' getAll ([1,2,3]) 'arasındaki tek fark, kareler için bir miktar yüktür. –