Как использовать Query в Firebase Firestore - PullRequest
0 голосов
/ 12 февраля 2019

Я использую функцию Firebase и Firebase Firestore для разработки API, который будет хранить пользовательские данные.

Я хотел найти документы, используя свойства, хранящиеся в их поле. Этот является документом Firebase, в котором говорится, как достичь того же.

// Create a reference to the cities collection
var citiesRef = db.collection('cities');

// Create a query against the collection
var queryRef = citiesRef.where('state', '==', 'CA');

Я хотел разобраться в двух ситуациях

  1. Там, где нетдокумент с настоящими условиями

  2. Если существует более двух документов с настоящими условиями

Как можно справиться с вышеуказанными двумя ситуациями?

1 Ответ

0 голосов
/ 13 февраля 2019

После нашего «обсуждения» в комментариях выше, в облачной функции вы могли бы сделать следующее, используя QuerySnapshot, возвращенный методом get():

admin.firestore().collection("cities")
    .where('state', '==', 'CA')
    .get()
    .then(querySnapshot => {
        if (querySnapshot.size == 0) {
            console.log("0 documents");
        } else if (querySnapshot.size > 2) {
            console.log("More than 2 documents");
        } 
    });

Как сказано выше, просто имейте в виду, что это будет стоить чтение для каждого документа в коллекции.Если у вас очень большая коллекция, вы можете написать облачную функцию, которая обновляет счетчик при каждом добавлении / удалении документа в / из коллекции.

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