Я пытаюсь получить все элементы, имеющие параметр с определенным ключом.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
}
});
}
Проблема страница обновляется, когда запрос происходит, и я также получите предупреждение: ПРЕДУПРЕЖДЕНИЕ FIREBASE: Использование неуказанного индекса. Рассмотрим добавление «.indexOn»: „repliedTo“ в/сообщения в правилах безопасности для лучшей производительности
Я тоже получаю это предупреждение. Мои правила базы данных правильно определяют '.indexOn', как вы описали здесь. Предупреждение исчезает, если вы удаляете 'equalTo'. –
Не знаете, почему вы бы удалили 'equalTo', так как это вся точка запроса, которую пыталась достичь @Pete. – ksav
О, я не хочу удалять 'equalTo' - это важно, конечно. Это значит, что предупреждение исчезнет, если вы это сделаете. Однако, я решил свою проблему правильно, сейчас. Я не опубликовал изменения правил (локальный файл JSON) для Firebase. Ошибка новичков. –