【发布时间】:2019-05-07 18:33:25
【问题描述】:
我有一个 webhook 应用程序,我已成功从 Firebase 数据库中检索到数据。但我需要合并 MongoDB。这是目前为止的代码。
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const mongoose = require('mongoose');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
let uri = 'mongodb://dbAdynor:Adynor123!@testcluster-shard-00-00-x87dz.gcp.mongodb.net:27017,testcluster-shard-00-01-x87dz.gcp.mongodb.net:27017,testcluster-shard-00-02-x87dz.gcp.mongodb.net:27017/test?ssl=true&replicaSet=TestCluster-shard-0&authSource=admin&retryWrites=true';
let db;
mongoose.connect(uri,{
useMongoClient:true,
useNewUrlParser: true
});
let mdb = mongoose.connection;
mdb.on('error', console.error.bind(console, 'connection error:'));
mdb.once('open', function callback() {
// Create song schema
let dbSchema = mongoose.Schema({
decade: String,
artist: String,
song: String,
weeksAtOne: Number
});
db=mongoose.model('songs',dbSchema);
let admission = new db({
decade: '1970s',
artist: 'Debby Boone',
song: 'You Light Up My Life',
weeksAtOne: 10
});
});
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));
console.log("request.body.queryResult.parameters: ", request.body.queryResult.parameters);
var params = request.body.queryResult.parameters;
// var name = request.body.queryResult.parameters['myName'];
var intentMap = new Map();
// intentMap.set('Default Welcome Intent', welcome);
// intentMap.set('Default Fallback Intent', fallback);
agent.handleRequest(intentMap);
});
我收到一条错误消息,提示“您是否在 package.json 依赖项中列出了所有必需的模块?
Detailed stack trace: Error: Cannot find module 'mongoose'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/index.js:5:18)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
"
知道如何解决这个问题吗?
【问题讨论】:
-
你的mongodb连接代码成功了吗?您是否使用内联编辑器或 webhook 来实现?
-
我使用的是 webhook,而不是内联编辑器。 mongo db 代码还不完整。我不知道如何使用 mongodb 提取数据。这就是为什么要问我应该如何实现它?
标签: node.js mongodb dialogflow-es