2017-03-03 1 views
3

Ich schreibe eine App (Android/iOS/Web), die einem Benutzer einen Feed mit der Möglichkeit zeigen, nach einem oder mehreren Tags zu filtern. Die derzeitige Struktur ich habe, ist:Firebase reale Datenbank - Abfrage mehrerer Tags (möglicherweise in Arrays)

{ 
    "articles" : { 
    "-KXcnfob3Vo3s8bL9WSI" : { 
     "title" : "Article 1", 
     "description" : "Description of article 1", 
     "tags" : [ "Tag 1", "Tag 2", "Tag 3", "etc." ], 
     "url" : "websiteURL1.com", 

    }, 
    "-KXcnfob3Vo3s8bL9WSI" : { 
     "name" : "Article 2", 
     "description" : "Description of article 2", 
     "tags" : [ "Tag 1", "Tag 2", "Tag 3", "etc." ], 
     "url" : "websiteURL2.com", 
    } 
    ..... 
    } 

Natürlich kann ich sie mehrere Abfragen auf dem Client (eine pro Tag) und dann verschmelzen laufen, aber das wäre schrecklich ineffizient und schwierig sein, mit Paginierung zu tun (ich weiß nicht möchte unbedingt ALLE Artikel laden und dann zusammenführen).

Dies ist so normalisiert, wie ich die Datenstruktur erhalten könnte. Es macht mir nichts aus, die Datenstruktur zu ändern, da die App noch nicht entwickelt wurde.

+0

Eine optimale Lösung hierfür? – Eusthace

+0

Aus meiner Sicht ist Firebase ziemlich begrenzt und unterstützt nur eine einfache Abfrage eines einzelnen Feldes. Es ist eine deutliche Warnung für jeden ernsthaften Entwickler, der es nicht für mehr als eine einfache Demo verwendet. Ignoriere den Marketing-Hype auf eigene Gefahr. – checklist

Antwort

0

Firebase-Datenbank - kann diese Art von Anforderungen nicht verarbeiten.