我在我的项目中使用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函数??
答案 0 :(得分:2)
我认为您忘记了npm安装模块。 试试
npm install mongodb
答案 1 :(得分:0)
您在这里需要解决一些问题:
您需要按上述说明安装mongodb
。我不确定如何部署到AWS Lambda,但通常将其安装在本地,然后将其添加到package.json
文件中。然后,一旦部署,AWS就会读取该文件并将其安装在Lambda实例上。
您的Lambda实例将无法访问您的本地主机 数据库实例,因为它仅在您的计算机本地。您可以在这里设置一个 https://www.mongodb.com/cloud/atlas,然后使用该数据库URL来 从您的AWS Lambda实例连接。
如果您正在使用本地主机,则数据库URL应该为
"mongodb://localhost:27017/";
。您只包括
实际上是您使用它们时的username:password
部分。