2017-04-15 3 views
0

enter image description herefirebaseのネストされた値に対して.indexOnを書き込む方法は?

私は以下のルールに書いています。値のフォームを取得するには、キーを使用してチャットを作成してください。ただし、Firebase DBから値を取得することはできません。 ?ルールは

"chats": { 
    ".read" : true, 
    ".write" : "auth !== null", 
     "messages" : { 
      ".indexOn": ["userName", "createdAt", "userId"] 
     } 
}, 

チャット/ messages.json ORDERBY = "createdAt" & startAt = 1485920224250 &印刷=かなり

+0

でしたあなたの質問が何であるかを明確にするために元の投稿を編集してください。あなたのタイトルは、Firebaseのネストされた値をインデックスするためのルールを書こうとしていますが、あなたの投稿の後には値を取得できないと言っています。 Firebaseからデータを返さない場合は、何かが間違っています。 –

+0

私はチャット/ messages.jsonのルールを書いていますか?orderBy = "createdAt"&startAt = 1485920224250&print = pretty、しかしfirebaseは何も返しません、親切に助言してくださいfirebaseに追加する必要があるルール –

答えて

2

あなたはあなたのルールでのレベルが不足している以下の通りです:

"chats": { 
    ".read" : true, 
    ".write" : "auth !== null", 
    "$chatId": { 
     "messages" : { 
      ".indexOn": ["userName", "createdAt", "userId"] 
     } 
    } 
}, 
+0

私はあなたの解決策を試しましたが、エラー「 「エラー」:「インデックスが定義されていません」パス「\ /チャット/メッセージ」の「indexOn \」:\「createdAt \」をルール「 」に追加してください –

+0

あなたはそれらのメッセージのタイムスタンプに基づいてチャットルームを取得しようとしています。それは動作しません。最後に更新された順番でチャットルームを取得する場合は、チャットルームに最後に更新された時間を示すプロパティが必要です。 –

+0

@FrankvanPuffelenですが、チャットとメッセージの両方のインデックスはどうですか? –

関連する問題