我已经使用无服务器在AWS lambda中部署了一个后端应用程序(Node Js/Express)。
在db.js中
const mongoose = require('mongoose')
mongoose.connect(process.env.MONGODBURL , {
useNewUrlParser : true
})
在app.js中
const express = require('express')
require('./db/db')
const app = express()
// ...Rest code goes here
在handler.js中
'use strict';
const app = require('./app')
const serverless = require('serverless-http')
module.exports.hello = serverless(app)
这就是我的代码结构。但是如何在这种类型的代码结构中管理和缓存monogoose连接,以便lambda不会在每次调用时创建新的连接。
我尝试在使用AWS lambda时阅读Mongoose连接指南。但是我无法跟上这种代码结构
1条答案
按热度按时间hyrbngr71#
使用此代码更新您的db.js。然后在要进行连接的位置调用dbConnect()。根据aws,我认为它应该在你的处理程序导出语句之外。但是因为我们在这里重用现有的连接,我不明白为什么我们不能在每个进行数据库调用的文件中调用dbConnect(),以防现有的连接过时。请留下评论,如果它在您的情况下工作,或面对任何其他问题。