Почему Firestore отказывается от операции? - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть действие 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:

enter image description here

и моя структура базы данных выглядит следующим образом:

  • Сообщения (коллекция)
    • содержимое (поле)
    • время (поле)
    • userConvos (поле)

Проблема в том, что когда я делаю этот вызов из пожарной охраны, я получаю

Ошибка: Firestore: Операция была отклонено, поскольку система не находится в состоянии, необходимом для выполнения операции

Но если ошибка отклонена, данные упорядочиваются в соответствии с ожиданиями. Что происходит и как можно устранить эту ошибку?

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