Ruby on rails 指定firebase实时数据库请求的条件和限制

Ruby on rails 指定firebase实时数据库请求的条件和限制,ruby-on-rails,ruby,firebase,firebase-realtime-database,Ruby On Rails,Ruby,Firebase,Firebase Realtime Database,我正试图在firebase实时数据库中存储某些信息。我的数据库结构如下所示: { "contacts" : { "-KdD1f0ecmVXHZ3H3abZ" : { "email" : "ksdsd@sdsd.com", "first_name" : "John", "last_name" : "Smith", "organization_id" : 1 }, "-KdG4iHEYjInv7ljBhgG" : {

我正试图在firebase实时数据库中存储某些信息。我的数据库结构如下所示:

    {
  "contacts" : {
    "-KdD1f0ecmVXHZ3H3abZ" : {
      "email" : "ksdsd@sdsd.com",
      "first_name" : "John",
      "last_name" : "Smith",
      "organization_id" : 1
    },
    "-KdG4iHEYjInv7ljBhgG" : {
      "email" : "superttest@sds213123d.com",
      "first_name" : "Max1",
      "last_name" : "Rosse13131313l",
      "organization_id" : 1
    },
    "-KdGAZ8Ws6weXWo0essF" : {
      "email" : "superttest@sds213123d.com",
      "first_name" : "Max1",
      "last_name" : "Rosse13131313l",
      "organization_id" : 1
    }
  }
}
我需要能够像下面的SQL示例那样指定条件:

SELECT * FROM contacts WHERE organization_id = :id LIMIT :start, :end

有没有一种方法可以在数据库中使用Ruby或者至少是他们的RESTAPI来实现这一点

解决方案可分为两个步骤

步骤1)如果尚未更新firebase数据库中的规则,则必须更新这些规则

{
  "rules": {
     "read": "auth !=null",
     "write": "auth !null",
     "REPLACE_WITH_ROOT_NODE_NAME": {
       "contacts": {
          "indexOn": ["organization_id"]
       }
     }
  }
}
步骤2)从firebase数据库获取数据。RESTAPI请求应该是这样的

https://app-name.firebaseio.com/REPLACE_WITH_ROOT_NODE_NAME/contacts.json?auth=REPLACE_WITH_DATABASE_PASSWORD&orderBy="organization_id"&equalTo="REPLACE_WITH_ORGANIZATION_ID"&LimitToFirst=N
你试过什么了吗?