Проблема
В веб-приложении Angular я получаю данные из коллекции, назовем эту коллекцию lists
, я получаю один список (назовем его list1
из этой коллекции, используя егоkey.
Позже в том же приложении я выполняю запрос к этой коллекции lists
, чтобы получить все списки, соответствующие моим критериям, скажем, я хочу, чтобы ключ authorId
был равен моему текущему userId
.
Но проблема в том, что list1
соответствует критериям, поэтому на странице, показывающей записи lists
, соответствующие моим критериям, у меня есть два наблюдаемых выброса из моего запроса, во-первых, это то, что соответствуетlists
записей, которые я уже получил, а вторая - это то, что приходит с сервера.
Это проблема, потому что на стороне пользователя они видят анимацию загрузки, а затем появляется один из их списков (тот, которыйони уже получили из базы данных), затем отображаются все их списки.
Пример запроса для этого:
this.firestore.collection('lists', ref => ref.where('userId', '==', 'foo'))
Уже пробовал
, используя оператор skip(1)
для данныхНаблюдаемый, но этот ланьэто не работает, потому что, если я перехожу прямо к этой странице, не извлекая сначала другой список, то первая эмиссия - та, которую я хочу, и я пропускаю ее, приводя к бесконечному загрузчику, пока кто-то или что-то не отредактирует один из списков, вызываядругой выброс от valueChange()
Наблюдаемый.