Объедините orderBy и где пункты в Firestore - PullRequest
1 голос
/ 23 марта 2020

Я пытаюсь выполнить простой запрос в Firestore, используя where и orderBy. Запрос не работает, без сообщений об ошибках. После некоторых исследований я обнаружил, что мне может понадобиться создать индекс в Firestore. Я так и сделал, но еще раз этот запрос не работает.

Есть ли какие-то решения? Не сможет бежать там, где + orderBy будет огромной слабостью.

Вот код:

var firestore = firebase.firestore();
firestore.collection(collec_name).where("approved", "==", 1).orderBy('signin_date', 'desc').limit(3).get().then(snapshot => {
      snapshot.forEach(doc => {
...
}
})

1 Ответ

2 голосов
/ 23 марта 2020

Запрос не работает, без сообщений об ошибках

Вы не получаете никаких сообщений об ошибках, потому что вы фактически не проверяете их на наличие ошибок. В вашем коде должен быть блок catch, чтобы увидеть, что пошло не так:

var firestore = firebase.firestore();
firestore.collection(collec_name)
    .where("approved", "==",1)
    .orderBy('signin_date', 'desc')
    .limit(3)
    .get()
.then(snapshot => {
    snapshot.forEach(doc => {
    }
})
.catch(error => {
    console.error(error)
})

Если ваш запрос действительно нуждается в индексе, напечатанное здесь сообщение об ошибке даст вам ссылку, по которой будет создан индекс, необходимый для удовлетворения. этот запрос.

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