Может ли запрос Firestore с .where() выполнять пустой поиск

Я создаю веб-сайт для загрузки старых экзаменов и имею кучу документов с такими полями, как учитель, год, класс и т. Д. Все они хранятся в облаке Firestore. Я использую .where("Учитель", "==", учитель) для фильтрации данных. Однако я хотел бы иметь возможность выполнять пустой запрос, чтобы поиск мог возвращать несколько математических тестов, которые не обязательно принадлежат одному и тому же учителю. Есть ли способ сделать это с помощью оператора .where() или мне нужно разделить каждый случай поиска?


person Michael Keller    schedule 13.01.2018    source источник
comment
Что вы подразумеваете под пустым запросом? Что именно вы пытаетесь восстановить?   -  person Doug Stevenson    schedule 13.01.2018
comment
В основном я хочу, чтобы он, если не указано иное, вернул все. Я решил это, указав разные случаи поиска (например, заданы только поля A и C). Однако, если у вас есть более простое решение, мне было бы интересно его услышать.   -  person Michael Keller    schedule 13.01.2018
comment
@MichaelKeller, ты нашел решение? Должно быть более элегантное решение, верно?   -  person Obiwahn    schedule 16.09.2019


Ответы (1)


Чтобы получить все документы в коллекции, просто используйте метод get(). метод в CollectionReference:

const firestore = firebase.firestore()
const coll = firestore.collection('collection_name')
coll.get().then(querySnapshot => {
    // Iterate querySnapshot.docs here
})

CollectionReference является подклассом Query, что означает, что CollectionReference сам по себе уже является запросом, не имеющим ограничений.

person Doug Stevenson    schedule 13.01.2018