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

我正在尝试将一些特定信息存储在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或至少他们的REST API?

该解决方案可分为两个步骤。

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

 { "rules": { "read": "auth !=null", "write": "auth !null", "REPLACE_WITH_ROOT_NODE_NAME": { "contacts": { "indexOn": ["organization_id"] } } } } 

步骤2)从firebase数据库中获取数据。 其余的API请求应该是这样的

 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