FireBase / Как я могу получить поле из всех документов в FireStore / Javascript - PullRequest
0 голосов
/ 19 марта 2019

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

Мне нужно получить данные из поля «Доход», которое есть в каждом документе в «значениях» коллекции, и записать их в массив, чтобы вычислить сумму элементов этого массива.

1 Ответ

1 голос
/ 19 марта 2019

Сделайте следующее, если хотите суммировать значения.Вам не нужен массив.

var totalIncome = 0;
db.collection("values").get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        totalIncome += doc.data().Income;
    });
    console.log(totalIncome);
});

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

Если вам действительно нужно заполнить массив, выполните следующие действия:

var totalIncomeArray = [];
db.collection("values").get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        totalIncomeArray.push(doc.data().Income);
    });
    //Do whatever you want with the array: it contains all the Income values
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...