2016-07-26 41 views
1

我的数据看起来像火力地堡休息API过滤查询

{ 
    "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" 
    } 
} 

我使用卷曲get请求https://words-b6651.firebaseio.com/DE-EN.json?orderBy="$key"&print=pretty,我想获得一个给定的水平

的所有话是有可能做这样的事情$关键。“level”和MongoDB一样?我怎么能得到这些数据

回答

5

您可以通过属性使用命令:

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

有两点需要注意:

  • 你需要add an index to your Firebase security rules".indexOn": "level"
  • 在JSON的项目将处于未确定的顺序,因为JSON本质上是无序的。这意味着,在您过滤数据时,REST API中的排序实际上是有用的,例如,

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

感谢的是工作,但可悲的是,排序直到过滤 – test11

+0

任何方式卷曲请求(REST)有用 - “WORD0”(意思是 - 水平,意义,类型等仅WORD0) ? –