Firebase RestApi过滤器无法正常工作

时间:2017-05-04 12:03:05

标签: rest firebase firebase-realtime-database

在对firebase执行restapi调用时,我想过滤查询结果,因此我向

发送请求
https://mydblink.firebaseio.com/user_contacts.json?orderBy="contactNumber"

它在子列表中返回一个响应(全部在user_contacts表下):

{
  "xm6snAk7vbP4kafRA2EmGHwkaDV2_contacts": {
    "-KjIVzg57e7rREx6zr4Z": {
      "contactName": "Test",
      "contactNumber": "123",
      "contactUsingApp": 0
    },
    "-KjIVzg7MoXhCxPIWtJ4": {
      "contactName": "Free T-Mobile SMS for VVM",
      "contactNumber": "122",
      "contactUsingApp": 0
    },
    "-KjIVzg8aqzuyS7-90Y7": {
      "contactName": "Free T-Mobile SMS for VVM",
      "contactNumber": "129",
      "contactUsingApp": 0
    },
   **"-KjIVzg8aqzuyS7-90Y8": {
      "contactName": "Test4",
      "contactNumber": "259",
      "contactUsingApp": 0
    }**,
    "-KjIVzg91jjzOukDq6pc": {
      "contactName": "Test1",
      "contactNumber": "321",
      "contactUsingApp": 0
    },
    "-KjIVzg91jjzOukDq6pd": {
      "contactName": "Test2",
      "contactNumber": "369",
      "contactUsingApp": 0
    }
  }
}

现在,如果我将请求过滤器发送到另一个级别:

https://mydblink.firebaseio.com/user_contacts.json?orderBy="contactNumber"&equalTo="259"

它返回:

  

{}

但联系人'259'在数据库中但未返回。

1 个答案:

答案 0 :(得分:0)

Firebase会查询您查询的位置下子节点中已知路径的值。

在您分享的代码段中,唯一的子节点是xm6snAk7vbP4kafRA2EmGHwkaDV2_contacts。此子节点没有属性contactNumber

如果您更深入地查询一个级别,它将起作用。见

https://stackoverflow.firebaseio.com/43782387/xm6snAk7vbP4kafRA2EmGHwkaDV2_contacts.json?orderBy="contactNumber"&equalTo="259"