Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用DialogFlow从数据库Firebase读取多个子项?_Javascript_Firebase_Firebase Realtime Database_Dialogflow Es - Fatal编程技术网

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

Javascript 如何使用DialogFlow从数据库Firebase读取多个子项?,javascript,firebase,firebase-realtime-database,dialogflow-es,Javascript,Firebase,Firebase Realtime Database,Dialogflow Es,我在读取Firebase“真实数据库”数据时遇到问题 我使用参数$nomeProf创建了一个意图。当我传递一个值并尝试在db中查询时,会出现“Webhook调用失败” 错误:500内部服务器错误 对数据库的访问正在进行,我就是看不懂孩子们 我正在尝试在dialogflow控制台中获取电子邮件传递唯一id,例如: 'qualo email do faria?',$nomeProf=faria “faria”和“correa”是我唯一的相似ID: function getProfessorHandl

我在读取Firebase“真实数据库”数据时遇到问题

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

错误:500内部服务器错误

对数据库的访问正在进行,我就是看不懂孩子们

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

'qualo email do faria?',$nomeProf=faria

“faria”和“correa”是我唯一的相似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}`);
    }
  });
}


听起来您想根据
agent.parameters.nomeProf
值从数据库中加载
Professor
的单个子级

大概是这样的:

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}`);
  }
});

非常感谢你!工作得很好。