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
Node.js 我怎样才能穿越随机id firebase的孩子们?(NodeJs)_Node.js_Firebase_Firebase Realtime Database_Dialogflow Es - Fatal编程技术网

Node.js 我怎样才能穿越随机id firebase的孩子们?(NodeJs)

Node.js 我怎样才能穿越随机id firebase的孩子们?(NodeJs),node.js,firebase,firebase-realtime-database,dialogflow-es,Node.js,Firebase,Firebase Realtime Database,Dialogflow Es,我想遍历生成的随机ID的子值。显然,我想检查foodname是否与请求的not名称匹配。我已经看到了Java的解决方案,但无法找到NodeJs的解决方案 这是我尝试过的,但它只返回最上面的随机id的exp_日期 app.intent('getDate',(conv,{foodname})=>{ return admin.database().ref("/users/${conv.user.id}").once('child_added',function(snapshot){

我想遍历生成的随机ID的子值。显然,我想检查foodname是否与请求的not名称匹配。我已经看到了Java的解决方案,但无法找到NodeJs的解决方案

这是我尝试过的,但它只返回最上面的随机id的exp_日期

app.intent('getDate',(conv,{foodname})=>{
  return admin.database().ref("/users/${conv.user.id}").once('child_added',function(snapshot){
        conv.ask("${snapshot.val().exp_date}");

  });
});

您现在正在将侦听器附加到
/users/${conv.user.id}
,该侦听器侦听
.once('child_added'
。因此,您的回调将被调用,其中包含
/users/${conv.user.id}
下的第一个子项的快照。如果您希望将所有子项都放在
/users/${conv.user.id}
下,您可以执行以下操作:

app.intent('getDate',(conv,{foodname})=>{
    return admin.database().ref(`/users/${conv.user.id}`).once('value',function(snapshot){
        var msg = '';
        snapshot.forEach(function(child) {
            msg = msg + child.val().exp_date;
        });
        conv.ask(msg);
    });
});
因此:

  • /users/${conv.user.id}
    周围使用文字倒勾,因为您使用的是模板字符串
  • 侦听
    事件,这意味着您在
    /users/${conv.user.id}
  • 使用
    snapshot.forEach()
    在所有匹配的子节点上循环

  • 我对
    /user/${conv.user.id}
    使用了文字反勾号,但由于格式问题,在发布问题时删除了它。无论如何,答案对我有帮助。谢谢。