У меня есть запрос, в котором я запрашиваю в порядке desc
, используя следующее
const { id } = userDetails;
const initialQuery = await firestore().collection('class')
.orderBy('createdAt', 'desc')
.where(`access.readAccess.${id}`, '==', true)
.limit(5);
initialQuery.onSnapshot((documentSnapshots) => {
const { docs } = documentSnapshots;
const lastVisible = docs.length > 0 ? docs[docs.length - 1] : '';
console.log(docs);
})
const getMore = async(store, userDetails) => {
const { id } = userDetails;
const { lastVisible } = lastState;
const initialQuery = await firestore().collection('class')
.orderBy('createdAt', 'desc')
.where(`access.readAccess.${id}`, '==', true).startAfter(lastVisible)
.limit(5);
const documentSnapshots = await initialQuery.get();
const { docs } = documentSnapshots;
}
. Когда я делаю это, я получаю ошибку The query requires an index
, которая кажется справедливой и полезной. URL для создания индексации. Когда я создаю индексацию, она создает индексирование
class
access.readAccess.`1571158795762` Ascending createdAt Descending
Collection
Enabled
Теперь в этом 1571158795762
будет меняться в зависимости от пользователя, вошедшего в систему. Поэтому, конечно, он начал жаловаться на другого пользователя. Кроме того, onSnapshot
поступают вызовы с порядком desc
. Любое предложение, пожалуйста?