#mongodb #mongoose #aws-lambda #mongodb-atlas
#mongodb #mongoose #aws-lambda #mongodb-atlas
Вопрос:
У меня есть AWS Lambda, который подключается к Atlas через Mongoose.
Он отлично работает в моей среде разработки (с использованием изолированной среды M0), но в prod, где у меня есть M2, каждые несколько запросов завершаются ошибкой с помощью a MongooseServerSelectionError
, когда я выполняю первый запрос лямбды. Похоже, это происходит только при (некоторых) повторно используемых соединениях с БД, но никогда при холодном запуске.
Для моего диапазона IP-адресов доступа к сети установлено значение 0.0.0.0, поэтому я не думаю, что белый список является проблемой.
Как бы то ни было, это мои варианты подключения:
conn = mongoose.createConnection(process.env.MONGO, {
bufferCommands: false,
bufferMaxEntries: 0,
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
socketTimeoutMS:4000,
serverSelectionTimeoutMS: 1000
});
Любопытно, сталкивался ли кто-нибудь с подобной проблемой раньше?
Комментарии:
1. Привет, Джаред, ты нашел ответ на эту проблему? Мы перешли с одного экземпляра на набор реплик и начали получать эту ошибку MongooseServerSelectionError
Ответ №1:
Я не уверен, что это тот ответ, который вы ищете, но рекомендуется инициализировать подключение к БД вне контекста вашей функции. это может быть вам полезно. документация mongodb atlas
Комментарии:
1. Спасибо — оно находится за пределами основной функции и повторно используется при последующих вызовах, если они близки по времени.