#node.js #mongodb #aws-documentdb #aws-documentdb-mongoapi
#node.js #mongodb #aws-documentdb #aws-documentdb-mongoapi
Вопрос:
Я создал базу данных DocumentDB с включенным SSL и использую mongodb
пакет using NodeJS
для подключения этой базы данных с помощью Bastion
хоста. Проблема в том, что если я помещу жестко закодированную строку внутри MongoClient.connect
функции, я смогу успешно подключить базу данных. Жестко закодированный код будет выглядеть так, как показано ниже.
let MongoClient = require('mongodb').MongoClient; let client = MongoClient.connect( 'mongodb://User:PWD@DBURL:27017/DBNAME?tls=trueamp;replicaSet=rs0amp;readPreference=secondaryPreferredamp;retryWrites=false', { tlsCAFile: __dirname `rds-combined-ca-bundle.pem` //Specify the DocDB; cert }, function(err, client) { if(err) throw err; console.log("1111111 2222222!!"); //Specify the database to be used db = client.db('DBNAME'); //Specify the collection to be used col = db.collection('COLNAME'); console.log("1111111 connected to db!!"); client.close(); });
Теперь, поскольку это не идеальная ситуация для ввода жестко закодированных значений в код. Я пытаюсь прочитать значения из переменных среды и пытаюсь поместить весь URL-адрес в строковую переменную и передать эту переменную в эту функцию, как показано ниже.
const DBURL = "mongodb://" user ":" pwd "@" dbURL ":" port "/" dbName "?tls=trueamp;replicaSet=rs0amp;readPreference=secondaryPreferredamp;retryWrites=false"; let client = MongoClient.connect(DBURL, { tlsCAFile: __dirname `rds-combined-ca-bundle.pem` //Specify the DocDB; cert }, function(err, client) {
Теперь этот один тайм-аут для подключения БД.
Любые предложения по этому поводу или я должен использовать любые другие пакеты для подключения DocumentDB через NodeJS, дайте мне знать.