繁体   English   中英

用 javascript 中的变量替换数据存储区查询

[英]Replacing Datastore query with variable in javascript

我正在编写一个 Dialogflow 机器人,您可以在其中给它一本书或作者,并且响应将有一个文本摘录。 数据全部存储在 Datastore 中。 我已经成功地处理了特定于已定义图书的查询,但我想编写数据存储查询,其中用户的输入(图书名称)是查询中的一个变量,所以我可以只有一个查询。

我尝试将变量放在查询字符串中,但它不将其识别为变量,而是查询变量,而不是变量的值。

const query1 = datastore.createQuery('QuoteTable').filter('Book', '=', 'Harry Potter');

const book = conv.parameters[BOOK_ENTITY].toLowerCase();
 if (book !== null){ 
     return datastore.runQuery(query1).then(results => {
        conv.ask(results[0][0].Quote);
    }); 

我想要的是用书代替哈利波特。 举个例子(我知道这不起作用,但这是它的想法):

const query1 = datastore.createQuery('QuoteTable').filter('Book', '=', '$book');

您可以尝试以下操作:只需对原始代码稍作调整,即可在设置query1之前获取变量book

book = conv.parameters[BOOK_ENTITY].toLowerCase();

const query1 = datastore.createQuery('QuoteTable').filter('Book', '=', book);


 if (book !== null){ 
     return datastore.runQuery(query1).then(results => {
        conv.ask(results[0][0].Quote);
    }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM