我想使用Cloud Functions for Firebase和MongoDB。问题是我不知道如何将我的Mongo数据库与云功能连接起来。我的数据库部署在matlab上。 我做了这个架构:
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var patientSchema = new Schema({
name: {
type: String,
required : true,
},
disease:{
type: String,
required : true,
},
medication_provided: {
type: String,
required : true,
},
date : {
type : Date,
}
})
const patient = mongoose.model('patientInfo', patientSchema)
module.exports = patient
然后我在项目index.js文件中需要我的模式,并导出一个名为getAllPatient的函数。
const patient = require('../Patient')
const functions = require('firebase-functions');
const mongoose = require('mongoose')
mongoose.connect('mongodb://patient:patient123@ds139869.mlab.com:39869/patient',{useMongoClient: true})
exports.getAllPatient = functions.https.onRequest((request, response) => {
patient.find({}).then((data) => {
response.send(data)
})
})
但是给我一个错误“错误:无法处理请求”
答案 0 :(得分:2)
尝试以下面链接中显示的类似方式设计云功能: -
我已经尝试了mongoose很长一段时间,它工作正常,但速度很慢,因为每次新的请求都会打开mongoose连接并为你提供数据。 / p>
希望这会有所帮助!!
答案 1 :(得分:2)
我最近遇到这种类型的错误,发现Firebase Free Plan不允许从函数内部进行出站连接。如果您需要调用外部http / tcp连接,则需要处于火焰或火焰计划中。请参阅下面的截图或查看云功能->此链接Firebase Pricing上的出站网络