Firebase数据库REST通过orderBy值和参数获取

时间:2018-10-02 02:01:51

标签: rest firebase firebase-realtime-database

  

database.rules.json

{
  "rules": {
    "meetings" : {
      ".read": true,
      ".write": true,
      ".indexOn" : ["date"]
    }
  }
}
  

请求网址

"https://{baseURL}/meetings.json?orderBy=date&equalTo=20181005"
  

错误消息   错误:“ orderBy必须是有效的JSON编码路径”

但是

"https://{baseURL}/meetings.json"

没有错误。 我做错了什么?请帮助我。

2 个答案:

答案 0 :(得分:1)

我遇到了确切的问题..诀窍是..传递的值应该是“字符串”编码,

如下例..

searchRecordById(recordId: string) {
    return this.http.get(
      `https://your-app.firebaseio.com/skdocs.json`,
      {
        params: {
          **orderBy: '"folder"',
          equalTo: '"Panchla-2"',**
        },
      }
    );
  }

答案 1 :(得分:0)

URL中name参数的值需要用"引号引起来。所以:

https://{baseURL}/meetings.json?orderBy="date"&equalTo=20181005

根据存储date属性值的方式,equalTo参数的值可能还需要用"引号引起来。如果将date存储为字符串,则必须为:

https://{baseURL}/meetings.json?orderBy="date"&equalTo="20181005"

有关更多信息,请阅读Firebase documentation on querying using the REST API