Порядок в магазине, где фильтры не работают вместе - PullRequest
0 голосов
/ 07 октября 2019

Если я запрашиваю мою коллекцию users и фильтрую по двум различным свойствам, как показано ниже, она возвращает ожидаемые данные.

return this.afs
  .collection<Employee>('users', ref => {
    return ref
      .where('accountId', '==', accountId)
      .where('isEmployee', '==', true);
  })
  .valueChanges()

Однако, если я пытаюсь упорядочить эти данные по name,как показано ниже, он возвращает пустой массив.

return this.afs
  .collection<Employee>('users', ref => {
    return ref
      .where('accountId', '==', accountId)
      .where('isEmployee', '==', true)
      .orderBy('name');
  })
  .valueChanges()

Я подумал, что мне нужно управлять обработкой индексации или что-то в этом роде, но я провел некоторое исследование, и я понимаю, что если бы это было так,Я получил бы сообщение об ошибке в консоли со ссылкой для настройки составной индексации, которая мне нужна. Я не получаю никаких ошибок, просто пустой массив. Что я делаю неправильно? Можно ли заказать сбор данных, отфильтрованных по 2 свойствам? Я полагаю, что использую Firebase версии 6.5, но хочу обновить, если это решит мою проблему.

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Я получил бы сообщение об ошибке в консоли со ссылкой для настройки нужного мне составного индексирования.

Да, это правильно. Когда вы используете запрос, подобный вашему, в консоли должно отображаться предупреждающее сообщение.

Я не получаю никаких ошибок, просто пустой массив.

В этом случае вам следует создать этот индекс вручную в консоли Firebase .

Можно ли заказать коллекцию данных, отфильтрованных по 2 свойствам?

Конечно, это так. Просто создайте необходимый индекс, и тогда вы сможете выполнить запрос.

0 голосов
/ 07 октября 2019

Не похоже, что вы готовы ловить ошибки. Может захотеть сделать что-то вроде:

.catch (ошибка => console.log (ошибка)

(отформатирует, когда на рабочем столе)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...