我如何使用DialogFlow从数据库Firebase读取多个子级?

时间:2019-09-18 00:44:36

标签: javascript firebase firebase-realtime-database dialogflow

我无法读取Firebase的“真实数据库”数据。

我使用参数$nomeProf创建了一个意图。当我传递一个值并尝试在db中查询时,“发生Webhook调用失败。

  

错误:500个内部服务器错误

正在访问数据库,但我看不懂孩子们的信息。

我正在尝试在dialogflow控制台中获取电子邮件传递唯一ID,例如:

'qual o email do faria?', $nomeProf=faria

'faria'和'correa'是我唯一的ID,如ID:

'faria' and 'correa' are my unique like ID

function getProfessorHandler (agent){
  //let nomeProf = agent.parameters.nomeProf; #I need something like this?
  return admin.database().ref("Professor").once('value').then((snapshot) => {
    const value = snapshot.child("nomeProf").val();
    const email = value.email;  
    if(value !== null){
      agent.add(`O email é:  ${email}`);
    }
  });
}

1 个答案:

答案 0 :(得分:0)

听起来您想基于Professor值从数据库中加载agent.parameters.nomeProf的单个子项。

就像这样:

return admin.database().ref("Professor").child(agent.parameters.nomeProf).once('value').then((snapshot) => {
  const value = snapshot.val();
  const email = value.email;  
  if(value !== null){
    agent.add(`O email é:  ${email}`);
  }
});