{"id":16649,"date":"2025-11-07T17:21:51","date_gmt":"2025-11-07T11:51:51","guid":{"rendered":"https:\/\/www.skynats.com\/?p=16649"},"modified":"2025-11-07T17:21:53","modified_gmt":"2025-11-07T11:51:53","slug":"how-to-connect-to-amazon-documentdb-using-mongosh-common-errors-and-solutions","status":"publish","type":"post","link":"https:\/\/www.skynats.com\/blog\/how-to-connect-to-amazon-documentdb-using-mongosh-common-errors-and-solutions\/","title":{"rendered":"How to Connect to Amazon DocumentDB Using mongosh: Common Errors and Solutions"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>Amazon DocumentDB is a MongoDB-compatible managed database, but it has some differences that can trip up developers trying to use modern MongoDB clients.<\/li>\n\n\n\n<li>Troubleshooting connection issues &#8211; <a href=\"https:\/\/aws.amazon.com\/documentdb\/\" target=\"_blank\" rel=\"noopener\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-secondary-color\">Amazon DocumentDB<\/mark><\/a> is often necessary because connecting to Amazon DocumentDB may throw errors that can be confusing, especially because DocumentDB is MongoDB-compatible but not identical.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-1-wire-version-mismatch\"><strong>1.Wire Version Mismatch<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cMongoServerSelectionError: Server at &lt;cluster-endpoint&gt; reports maximum wire version 6, but this version of the driver requires at least 8 (MongoDB 4.2)\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DocumentDB 3.5 (and 3.6) supports MongoDB wire version 6 (features roughly equivalent to MongoDB 3.6).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modern clients (mongosh 2.x, Node.js driver 4.x, MongoDB shell 8.x) require wire version 8 or higher, which corresponds to MongoDB 4.2+.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The client attempts to use features the server does not support \u2192 connection rejected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solution is to:-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use a compatible MongoDB shell or driver:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mongo shell 4.0.x<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Node.js MongoDB driver 3.x<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Python pymongo 3.x (not 4.x)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avoid mongosh 2.x for DocumentDB 3.5 clusters.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-2-econnreset-connection-reset-by-peer\"><strong>2. ECONNRESET (Connection Reset by Peer)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cMongoServerSelectionError: read ECONNRESET\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The server forcibly closes the connection during handshake. Common reasons:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Network\/firewall or security group blocking traffic on port 27017<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wrong TLS\/SSL configuration (invalid CA certificate, missing ssl=true)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Connection string missing required parameters (replicaSet=rs0, retryWrites=false)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solution is to:-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check network connectivity using,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>telnet &lt;cluster-endpoint> 27017<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Use correct TLS CA:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;tlsCAFile \/path\/to\/rds-combined-ca-bundle.pem<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure security groups allow your machine\u2019s IP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-3-authentication-unsupported-mechanism\"><strong>3 .Authentication \/ Unsupported Mechanism<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cMongoServerError: Authentication failed \/ Unsupported mechanism SCRAM-SHA-256\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DocumentDB 3.5 supports SCRAM-SHA-1, but not SCRAM-SHA-256 or other advanced auth mechanisms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some clients default to SCRAM-SHA-256 (modern MongoDB shells\/drivers).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solution is to:-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Force authentication against the admin database:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">authenticationDatabase admin<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure the client version supports SCRAM-SHA-1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-4-timeout-server-selection-errors\"><strong>4 .Timeout \/ Server Selection Errors<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cServer selection timed out after 30000 ms<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">connect ETIMEDOUT\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The client cannot find a suitable server for operations.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Possible reasons are;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Using an instance endpoint instead of the cluster endpoint<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Network or firewall blocking the connection<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replica set parameters missing or misconfigured<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Read preference conflicts<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Solution is to :-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use cluster endpoint, not individual instance endpoints.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Include correct replica set name:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">replicaSet=rs0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set read preference:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">readPreference=secondaryPreferred<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-5-tls-ssl-handshake-failures\"><strong>5 .TLS\/SSL Handshake Failures<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cMongoServerSelectionError: SSL handshake failed \/ certificate verify failed\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DocumentDB requires TLS\/SSL connections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using an incorrect CA bundle or missing &#8211;ssl or &#8211;tlsCAFile flags causes handshake failure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solution is to:-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download AWS CA bundle:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/truststore.pki.rds.amazonaws.com\/global-bundle.pem -O \/root\/global-bundle.pem<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Use it in your connection:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--tlsCAFile \/root\/global-bundle.pem --ssl<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure the client supports TLS 1.2 (modern MongoDB shells do).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By following these best practices, you can reliably connect to DocumentDB, troubleshoot errors effectively.DocumentDB may not be a drop-in replacement for MongoDB, but with the right client configuration, it can integrate seamlessly into your applications.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-conclusion\"><strong>Conclusion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re still facing difficulties while connecting to Amazon DocumentDB using mongosh, our experts can help. Skynats provides Troubleshooting connection issues &#8211; Amazon DocumentDB through our specialized <a href=\"https:\/\/www.skynats.com\/aws-management\/\">AWS Management Service<\/a> and <a href=\"https:\/\/www.skynats.com\/server-management\/\">Server Management Services<\/a>. Get 24&#215;7 assistance to diagnose, fix, and optimize your DocumentDB setup\u2014contact us today for expert support!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.Wire Version Mismatch \u201cMongoServerSelectionError: Server at &lt;cluster-endpoint&gt; reports maximum wire version 6, but this version of the driver requires at least 8 (MongoDB 4.2)\u201d DocumentDB 3.5 (and 3.6) supports MongoDB wire version 6 (features roughly equivalent to MongoDB 3.6). Modern clients (mongosh 2.x, Node.js driver 4.x, MongoDB shell 8.x) require wire version 8 or higher, [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[722,1162,1161,302,1163],"class_list":["post-16649","post","type-post","status-publish","format-standard","hentry","category-blog","tag-aws","tag-aws-management-service","tag-documentdb","tag-server-management-services","tag-troubleshooting-connection-issues-amazon-documentdb"],"_links":{"self":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/16649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/comments?post=16649"}],"version-history":[{"count":2,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/16649\/revisions"}],"predecessor-version":[{"id":16651,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/16649\/revisions\/16651"}],"wp:attachment":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/media?parent=16649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/categories?post=16649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/tags?post=16649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}