Пожарная перестановка взрыв составного индекса - PullRequest
0 голосов
/ 04 февраля 2020

Я застрял в сводном указателе пожарного магазина. У меня есть несколько полей под пользователем, которые как A (строка), B (строка), C (строка), D (массив), E (массив), F (массив), G (массив). Пользователи могут искать и запрашивать различные комбинации этих полей. Например, «A ==« Мужской », B ==« 2020 »», который говорит мне создать составной индекс, и после того, как я создал запрос, такой как «A ==« Мужской », B ==« 2020 », C == «Онтарио» по-прежнему нужен новый составной индекс.

  1. Что мне интересно, так это то, что мне нужно создавать все перестановки составного индекса?
  2. Массив полей больше двух, но SDK допускает только одно предложение «содержит массив». Что я могу для этого сделать? Для этого я попытался разбить массив [element1, element2] на структуру типа «element1: true, element2: true ", который может быть запрошен предложением" == ". Но проблема в том, что массив динамический c, каждый раз, когда я добавляю предложение" == ", SDK говорит мне, что мне нужно создать новый составной индекс.

У кого-нибудь есть идеи по этому поводу?

1 Ответ

2 голосов
/ 04 февраля 2020

Нет инструмента, который бы автоматически создавал все нужные комбинации. Однако документация предполагает, что вы можете использовать CLI Firebase для развертывания индексов, определенных с использованием его конфигурации JSON. Этот файл конфигурации не задокументирован, поэтому вам придется перепроектировать его на основе индексов, которые вы создаете вручную. Примером одной такой конфигурации индекса является здесь . Что вы можете сделать, это вручную создать индекс, затем запустить firebase init, выбрать Firestore, и он выведет индексы в свою конфигурацию JSON, которую вы можете редактировать и повторно развертывать. На сегодняшний день вам придется запускать firebase init в папке fre sh для получения новых индексов с сервера.

Как только вы узнаете, как развертывать такие индексы, вы можете написать код для создания всех комбинации индексов в этой JSON конфигурации. Это не красиво, но выполнимо.

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