[英]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.