【问题标题】:How to reference a child of a child如何引用一个孩子的孩子
【发布时间】:2018-07-25 04:23:54
【问题描述】:

我目前正在使用 Firebase 和 Dialogflow。我希望获取 2 个参数,课程和设施位置,并访问孩子的孩子的信息,但我不知道该怎么做。我将附上数据库的图像以供参考。

Firebase 数据库:

    else if (action === 'course_day') {                                    //For courses 
    const product = request.body.queryResult.parameters.courses.trim();
    const product = request.body.queryResult.parameters.facilitiesLocation.trim();
    const ref = db.ref(`courseday/${product.toLowerCase()}`);

    ref.once('value').then((snapshot) => {
        const result = snapshot.val();
        if (result === null) {
            response.json({
                fulfillmentText: `We do not have such a course.Simply say, for example, 'What day is Chinese Calligraphy on?'!`
            });
            return;
        }
        response.json({
            fulfillmentText: `${product} lessons are on ${result.day}`,
            source: action
        });

    }).catch((err) => {
        response.json({
            fulfillmentText: `I don't know what is it`
        });

    });

【问题讨论】:

    标签: firebase firebase-realtime-database actions-on-google dialogflow-es


    【解决方案1】:

    在“datasnapshot”中调用“once”函数时,您将收到整个基础数据作为 JSON。所以你所要做的就是进入这个 JSON 并获取所需的值。

    在这种情况下,假设您的 ref 指向数据库的“测试”分支,那么当您调用 ref.once 时,您将收到该分支下的所有内容。

    希望对你有帮助

    【讨论】:

    • 我的问题是我必须从用户那里获取两个参数,例如,合气道作为课程,并测试设施位置。然而,用户也可以请求合气道作为课程和测试作为设施位置。有什么办法可以解决这个问题吗?
    • 如果是这种情况,变量数据作为常量数据的子项会有所帮助。
    • 你必须把测试和测试放在合气道里面
    • 我知道你来自哪里,但我该怎么称呼它?正如您在我的代码中看到的,fulfillmentText:${product} lessons are on ${result.day},其中 ${result.day} 调用课程当天。但是,例如,“测试”和“测试”都是课程位置。有什么方法可以根据用户的输入调用它们中的任何一个?
    猜你喜欢
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 2017-03-11
    • 2018-02-12
    • 1970-01-01
    • 2012-02-09
    相关资源
    最近更新 更多