Node.js 我怎样才能穿越随机id firebase的孩子们?(NodeJs)
我想遍历生成的随机ID的子值。显然,我想检查foodname是否与请求的not名称匹配。我已经看到了Java的解决方案,但无法找到NodeJs的解决方案 这是我尝试过的,但它只返回最上面的随机id的exp_日期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){
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}
使用了文字反勾号,但由于格式问题,在发布问题时删除了它。无论如何,答案对我有帮助。谢谢。