繁体   English   中英

如何在AWS Lambda上在nodejs和mongodb之间建立连接?

[英]how to establish the connection between nodejs and mongodb on aws lambda?

我在我的项目中使用MongoDB数据库和Aws lambda函数。 当我尝试通过Aws lambda节点js函数访问Mongodb dataabse时,出现一些错误。 找到下面的代码

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://username:password@localhost:27017/";

MongoClient.connect(url, function(err, db) {
if (err) throw err;
});

我在下面收到这样的错误:

Response:
{
"errorMessage": "Cannot find module 'mongodb'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:474:25)",
"Module.require (module.js:596:17)",
"require (internal/module.js:11:18)",
"Object.<anonymous> (/var/task/index.js:1:81)",
"Module._compile (module.js:652:30)",
"Object.Module._extensions..js (module.js:663:10)",
"Module.load (module.js:565:32)",
"tryModuleLoad (module.js:505:12)",
"Function.Module._load (module.js:497:3)"

]}

如何通过node.js连接mongdb和aws lambda函数???

我认为您忘记了npm安装模块。 尝试

npm install mongodb

您在这里需要解决一些问题:

  • 您需要按上述说明安装mongodb 我不确定如何部署到AWS Lambda,但通常将其安装在本地,然后将其添加到package.json文件中。 然后,在部署之后,AWS会读取该文件并将其安装在Lambda实例上。

  • 您的Lambda实例将无法访问您的localhost数据库实例,因为它仅在您的计算机本地。 您可以在此处https://www.mongodb.com/cloud/atlas上设置一个,然后使用该数据库URL从您的AWS Lambda实例进行连接。

  • 如果您在本地主机上工作,则数据库URL应为"mongodb://localhost:27017/"; 实际上,您仅在使用username:password部分时才使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM