指定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