У меня есть действие firestore в реактивном проекте:
export const getMessages = (convoId) => {
return (dispatch) => {
firebase
.firestore()
.collection('messages')
.where('userConvos', 'array-contains', convoId)
.orderBy('time')
.onSnapshot((querySnapshot) => {
const messages = [];
querySnapshot.forEach((doc) => {
messages.push(doc.data());
});
dispatch({ type: types.LOAD_MSGS, payload: messages });
});
};
};
два составных индекса, которые я пробовал в firestore:
и моя структура базы данных выглядит следующим образом:
- Сообщения (коллекция)
- содержимое (поле)
- время (поле)
- userConvos (поле)
Проблема в том, что когда я делаю этот вызов из пожарной охраны, я получаю
Ошибка: Firestore: Операция была отклонено, поскольку система не находится в состоянии, необходимом для выполнения операции
Но если ошибка отклонена, данные упорядочиваются в соответствии с ожиданиями. Что происходит и как можно устранить эту ошибку?