Мне пришлось перефразировать этот вопрос, поскольку он немного вводил в заблуждение (моя вина).
Вот моя дилемма, допустим, у меня есть коллекция партий:
parties {
status: "open",
invitees: [56486,68978,897650], # user ids of invited users
scheduled_at: 1948089050 # timestamp
}
I 'Я хотел бы запрашивать только «открытые» стороны, на которые меня пригласили (мой идентификатор пользователя в массиве сериалов) и отсортированные по scheduled_at
. Я мог решить первую часть запроса к массиву, повернувэто в хеш (благодаря @renaud и @james poag) :
parties {
status: "open",
invitees: {
56486: true,
68978: true,
897650: true
}
scheduled_at: 1948089050
}
Теперь выполняем это:
db.collection('parties').where('status', '==', 'open').where('invitees.56486', '==', true').orderBy('scheduled_at')
Результатыв ошибке Firebase попросил меня составить индекс для status + invitees.56486 + scheduled_at
.как вы видите, для меня нецелесообразно добавлять индекс для каждого идентификатора пользователя.
Есть идеи?