Мне нужно запросить Firestore, но он постоянно говорит мне, что мне нужен индекс.Проблема в том, что это нереально, так как КАЖДОМУ пользователю потребуется индивидуальный индекс на основе его UserId.В целях безопасности я не могу разрешить кому-либо доступ, если только canAccess.${userID} == true
, как в примере ниже.Но если бы я взял ВСЕ элементы и отфильтровал их по дате на стороне клиента, я бы выбирал сотни тысяч элементов каждый раз, когда меняю диапазон дат, поэтому это не практично.
this.db.collection('items')
.where(`canAccess.${userId}`, '==', true)
.where('date', '>=', startDate)
.where('date', '<=', endDate);
Как можно собирать только те элементы, к которым им разрешен доступ, и только в выбранном диапазоне дат?