【发布时间】:2019-04-30 04:48:46
【问题描述】:
我有一个名为 Users 的 Firestore 集合,并试图通过履行在集合中写入一个文档。我正在通过对话流代理获取用户的姓名和他的位置,并尝试将其插入到集合中。但是文档没有被插入。
1)从代理获取数据:
name=agent.parameters.name;
location=agent.parameters.location;
2) 写入 Firestore 集合用户
db.collection("用户").doc("101").set({ 姓名:姓名, 位置:位置});
函数已执行,但文档未插入到 firestore 集合中。我缺少什么?
'use strict';
const functions = require('firebase-functions');
const { WebhookClient } = require('dialogflow-fulfillment');
const { Card, Suggestion } = require('dialogflow-fulfillment');
const admin = require('firebase-admin');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
var name='';
var location='';
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
function getUserDetails(agent)
{
name= agent.parameters.name;
location=agent.parameters.location;
console.log("buyer name is " + name);
db.collection("Users").doc("101").set({
name: name,
location:location});
agent.add(`User has been inserted`);
}
intentMap.set('Buy Car', getUserDetails);
agent.handleRequest(intentMap);
})
【问题讨论】:
-
您能否更新您的问题以澄清问题 - 当您尝试此操作时会发生什么?您是否收到错误消息,或者只是文档未存储?您还谈到“从”集合中“读取”——您是在尝试取回数据,还是现在只是尝试写入数据?
-
更新了问题...
标签: google-cloud-firestore dialogflow-es fulfillment