Search code examples
node.jsmongodbamazon-web-servicesmongoose

Connecting to AWS documentDB using mongoose giving error: 'MongoParseError: option ssl_ca_certs is not supported'


Hello I am just trying to connect to my documentDb using mongoose; hosted on AWS. From my local pc, I am try to do it like:

const URI = 'mongodb://username:npassword@docdb-2022-05-31-18-46-43.cluster-cnyrbefiq91q.eu-west-2.docdb.amazonaws.com:27017/?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'

mongoose.connect(URI, { useNewUrlParser: true , ssl: true});

I am getting the error:

MongoParseError: option ssl_ca_certs is not supported

Can any1 explain to me what I am doing wrong?


Solution

  • DocumentDB supports TLS protocol. It worked for me when I

    1/ downloaded the TLS public key using

    wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
    

    2/ changed the parameter ssl=true to tls=true in the connection string,

    3/ and updated the params to connect() method.

    const uri = 'mongodb://<user>:<password>@<clusterAddress>:27017/?tls=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'
    const client = new MongoClient(uri,{tlsCAFile: `rds-combined-ca-bundle.pem`});
    
    try{
        await client.connect();
    }
    

    I referred to this DocumentDB documentation.