Как получить документ, содержащий конкретное поле? - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу получить только документ в коллекции, если он содержит определенное поле.

Например, я пробую это, но это не работает:

const exampleCollection = admin.firestore().collection(‘Collection’).doc(‘Doc).collection(‘Subcollection’);

const exampleDoc = await exampleCollection.where(“field”, “>”, “”).get();
const field = await exampleDoc.data().field;

Как это сделать?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 сентября 2019

Cloud Firestore не предлагает никаких типов запросов, которые просто проверяют, существует ли свойство.Вы должны проверить, если он содержит конкретное значение (==) или диапазон (больше чем, меньше), или его массив содержит некоторое значение.Во всех случаях необходимо определенное значение, для сравнения.Там также нет типа запроса, который ищет данные, которые нет, так как этого типа запроса не масштабируется в том, как Firestore требуется.

1002 * Это, вероятно, означает, что вам нужно будет изменить модель документа, чтобы удовлетворитьрезультаты, которые вы должны получить.
0 голосов
/ 22 сентября 2019

Вы можете выполнять простые и сложные запросы в firebase

1002 * документация:. https://firebase.google.com/docs/firestore/query-data/queries#simple_queries 1005 * пример: .where('field', '>', '10');
...