2016-07-26 14 views
1

meine Daten sehen aus wieFirebase Rest API Filterabfrage

{ 
    "word0" : { 
    "level" : "B2", 
    "meaning" : [ "Meaning19", "meaning43" ], 
    "type" : "Noun", 
    "weight" : 0, 
    "word" : "word99" 
    }, 
    "word1" : { 
    "level" : "C1", 
    "meaning" : [ "Meaning19", "meaning43" ], 
    "type" : "Noun", 
    "weight" : 0, 
    "word" : "word99" 
    }, 
    "word10" : { 
    "level" : "A2", 
    "meaning" : [ "Meaning19", "meaning43" ], 
    "type" : "Noun", 
    "weight" : 0, 
    "word" : "word99" 
    } 
} 

Ich bin mit curl Erhaltungs-Anforderungs-https://words-b6651.firebaseio.com/DE-EN.json?orderBy="$key"&print=pretty und ich möchte alle Wörter eines bestimmten Level erreichen

ist es möglich, so etwas wie $ Schlüssel zu tun . "level" wie in MongoDB? und wie könnte ich diese Daten bekommen

Antwort

5

Sie können mit durch eine Eigenschaft bestellen:

https://words-b6651.firebaseio.com/DE-EN.json?orderBy="level"&print=pretty 

Zwei Anmerkungen:

  • Sie add an index to your Firebase security rules benötigen: ".indexOn": "level"
  • die Elemente in der JSON wird in einer unbestimmten Reihenfolge sein, da JSON inhärent nicht geordnet ist. Dies bedeutet, dass das Bestellen in der REST-API nur dann sinnvoll ist, wenn Sie auch die Daten filtern, z.

    https://words-b6651.firebaseio.com/DE-EN.json?orderBy="level"&equalTo="B2"&print=pretty 
    
+0

Dank, die leider funktionierte aber, dass die Reihenfolge, bis Filterung – test11

+0

keiner Weise nützlich ist, durch curl (Rest) zu beantragen - „word0“ (Mittelwert - Ebene, das heißt, Typ usw. nur für word0) ? –