簡體   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