特定のキーを持つパラメータを持つすべてのアイテムを取得しようとしています。ここでAngularfire2 - パラメータ付きのクエリテーブル
は、検索されたアイテムを持つ配列を埋める機能である:ここでは
this.subscription = this.activatedRoute.params.subscribe(
(param: any) => {
let postId = param['id'];
console.log(postId);
this.postsService.subscribePostReplies(postId)
.do(console.log)
.subscribe(posts => { this.posts = posts; this.cdr.detectChanges(); });
});
は、サービス内のメソッドです:
subscribePostReplies(postKey: string) {
return this.af.database.list('posts', {
query: {
orderByChild: 'repliedTo',
equalTo: postKey
}
});
}
問題は、クエリが発生し、Iときにページが更新されています FIREBASE WARNING:不特定のインデックスを使用しています。 「.indexOn」を追加することを検討してください:パフォーマンス向上のためにあなたのセキュリティルールに/ポストで 『repliedTo』
私もこの警告を受けています。ここで説明したように、データベースのルールは '.indexOn'を正しく指定します。 'equalTo'を削除すると警告が消えます。 –
@Peteが達成しようとしていたクエリのポイント全体であるため、 'equalTo'を削除する理由がわかりません。 – ksav
ああ、私は 'equalTo'を取り除きたくありません - それはもちろん必須です。もしあなたがそうしたら、警告が消えるだけです。 しかし、私は問題を適切に解決しました。ルールの変更(ローカルJSONファイル)をFirebaseに公開していませんでした。ルーキーミス。 –