Как посчитать количество элементов в массиве данных в Firestore? - PullRequest
0 голосов
/ 06 декабря 2018

Я изучаю Firestore с React.После того, как я добавил данные массива в хранилище, я пытаюсь посчитать определенный элемент в массиве данных в документе.Как и на картинке, я прикрепил несколько документов, включающих массив данныхЯ хочу посчитать количество CS 34800 в массиве классов из всех документов.Каков наилучший способ получить это?Спасибо!

введите описание изображения здесь

1 Ответ

0 голосов
/ 06 декабря 2018

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

Вы можете использовать оператор "array_contains" , чтобы получить все документы, где массив содержит какое-либо значение.

collectionRef.where("class", "array-contains", "CS 34800").get()
.then(querySnapshot => {
    const count = querySnapshot.size
});

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

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