Суммируйте значения в столбце, используя диалог - PullRequest
1 голос
/ 24 марта 2020

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

Структура моих данных

enter image description here


Пожалуйста, помогите суммировать все значения в столбце возраста.

function detectage(agent){
    return admin.database().ref('data').child(agent.parameters.name).once('value').then((snapshot) => { 
      const value = snapshot.val();
      const age = value.Age; 
        if(value !== null){
            agent.add(`The  age value from database is ${age}`);
        }
    });
  }

1 Ответ

1 голос
/ 25 марта 2020

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

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

Код, который можно сделать, может выглядеть как

function detectage(agent){
    return admin.database().ref('data').once('value')
      .then((snapshot) => {
        let age = 0;
        snapshot.forEach( childSnapshot -> {
          const value = childSnapshot.val();
          age += value.Age; 
        }); 
        if(age !== null){
            agent.add(`The total age from database is ${age}`);
        }
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...