2017-02-18 4 views
0

firebaseリアルタイムデータベースに特定の情報を保存しようとしています。私のデータベース構造は次のようになります。firebaseリアルタイムデータベースリクエストの条件と制限を指定してください

{ 
    "contacts" : { 
    "-KdD1f0ecmVXHZ3H3abZ" : { 
     "email" : "[email protected]", 
     "first_name" : "John", 
     "last_name" : "Smith", 
     "organization_id" : 1 
    }, 
    "-KdG4iHEYjInv7ljBhgG" : { 
     "email" : "[email protected]", 
     "first_name" : "Max1", 
     "last_name" : "Rosse13131313l", 
     "organization_id" : 1 
    }, 
    "-KdGAZ8Ws6weXWo0essF" : { 
     "email" : "[email protected]", 
     "first_name" : "Max1", 
     "last_name" : "Rosse13131313l", 
     "organization_id" : 1 
    } 
    } 
} 

私はこのSQLの例のような条件を指定できるようにする必要があります。

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

は、データベース内のRubyを使用して、または少なくとも彼らのことを行う方法はありますREST API?

+0

まだ試しましたか? https://firebase.google.com/docs/database/rest/retrieve-data#section-rest-filtering –

答えて

0

溶液は2つのステップに分けることができます。

手順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 
関連する問題