Как установить соединение между nodejs и mongodb на AWS лямбда? - PullRequest
0 голосов
/ 28 февраля 2019

Я использую базу данных MongoDB и лямбда-функцию Aws в своем проекте.Когда я пытался получить доступ к данным Mongodb через функцию Aws лямбда-узла js, я получал некоторую ошибку.найдите приведенный ниже код

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)"

]}

Как соединить функции longda mongdb и aws через node.js???

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

У вас есть несколько проблем здесь, вам нужно решить:

  • Вам необходимо установить mongodb, как указано выше.Я не уверен, как вы развертываете на AWS Lambda, но вы обычно устанавливаете его локально, добавляя его в файл package.json.Затем после развертывания AWS считывает этот файл и устанавливает его на свой экземпляр Lambda.

  • Ваш экземпляр Lambda не сможет получить доступ к вашему экземпляру базы данных localhost, поскольку он является локальным только для вашего компьютера.,Вы можете установить его здесь на https://www.mongodb.com/cloud/atlas, а затем использовать этот URL базы данных для подключения из своего экземпляра AWS Lambda.

  • Если вы работаете на локальном хосте, ваш URL базы данныхдолжно быть "mongodb://localhost:27017/";.Вы включаете только часть username:password, когда фактически используете их.

0 голосов
/ 28 февраля 2019

Я думаю, что вы забыли установить модуль npm.Попробуйте

npm install mongodb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...