Облачная функция Firestore, запрашивающая базу данных: документ не существует - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь написать облачную функцию http, которая запускает запрос для поиска предметов, цена которых превышает 100 долларов, но всегда возвращает мне пустой документ или документ не существует.

Правила настроены на пропуск проверки на данный момент, поэтому мне не нужно проходить аутентификацию.

Я что-то здесь упускаю?

Я новичок в firestore / firebase.

Коллекция / Изображение документа здесь

export const queryForData = functions.https.onRequest((request, response) => {

db.collection('Inventories').where('price','>=',100).get()

    .then(snapshot => {
        if(snapshot.exists){
            const data = snapshot.data();
            response.send(data);
        }else{
            response.send("No docs found!")
        }
    })
    .catch(error => {
        console.log(error);
        response.status(500).send(error);
    });
});

Это дает мне "Документы не найдены!"

1 Ответ

0 голосов
/ 12 мая 2018

Снимок, который вы имеете в своем коде, является QuerySnapshot и не имеет свойства свойства или метода data ().Похоже, что вы путаете его с QueryDocumentSnapshot , который имеет имеет свойство Существует и метод data ().

Так что вы хотели бы сделать что-токак это:

.then(snapshot => {
    if (!snapshot.empty) {
        for (let i = 0; i < snapshot.size; i++) {
            const data = snapshot.docs[i].data();
            response.send(data);
        }
    } else response.send('No docs found!')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...