Должен ли я создать индекс Firestore для приложения iOS - PullRequest
0 голосов
/ 16 сентября 2018

Я получил коллекцию, названную городами, каждый городской документ получил is_favorite логический флаг, а также заказ числовое поле. Я хочу использовать это таким образом

 db.collection("cities")
        .whereField("is_favorite", isEqualTo: true)
        .order(by: "order", descending: false)
        .getDocuments {}

Но я получаю эту ошибку

Ошибка Firestore. Для запроса требуется индекс.

В то же время обе эти конструкции работают нормально

 db.collection("cities")
        .whereField("is_favorite", isEqualTo: true)
        .getDocuments {}

 db.collection("cities")
        .order(by: "order", descending: false)
        .getDocuments {}

Так зачем мне беспокоиться об индексе Firestore, если я использую оба запроса вместе?

1 Ответ

0 голосов
/ 16 сентября 2018

Для некоторых операций, таких как запросы с несколькими аргументами (в верхнем из них вы используете where и order), вам потребуется firebase для генерации индекса, чтобы он мог легко запрашивать оба этих аргумента.

Чтобы сделать это, перейдите на панель управления своего пожарного депо в консоли Firebase и перейдите на вкладку индексов.При первом запуске создание индекса может занять несколько минут, но вам придется сделать это только один раз.

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