You can use connection strings to define connections between MongoDB instances and the following destinations:
The following example connection strings connect to a MongoDB Atlas deployment.
The following example connects to an Atlas cluster that has been configured to support authentication via AWS IAM credentials:
mongosh 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
Connecting to Atlas using AWS IAM credentials in this manner uses the MONGODB-AWS
authentication mechanism
and the $external
authSource
.
If you use an AWS session token, specify an AWS_SESSION_TOKEN
in the authMechanismProperties
value, as shown in the following example:
mongosh 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token> |
Note
If the AWS access key ID, the secret access key, or the session token include the following characters:
those characters must be converted using percent encoding.
You can also set these credentials on your platform using standard AWS IAM environment variables. mongosh
checks for the following environment variables when you use the MONGODB-AWS
authentication mechanism
:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
If set, these credentials do not need to be specified in the connection string.
The following example sets these environment variables in the bash
shell:
export AWS_ACCESS_KEY_ID='<aws access key id>' |
export AWS_SECRET_ACCESS_KEY='<aws secret access key>' |
export AWS_SESSION_TOKEN='<aws session token>' |
Syntax for setting environment variables in other shells will be different. Consult the documentation for your platform for more information.
To verify that these environment variables have been set, run the following command:
Once set, the following example connects to an Atlas cluster using these environment variables:
mongosh 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |
mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS |