Navigation

    Connect to a Deployment

    Important With Circle IconCreated with Sketch.Important

    Ensure that you have a running MongoDB deployment before attempting to connect with mongosh. The connection method you use depends on your deployment type.

    Run mongosh without any command-line options to connect to a MongoDB instance running on your localhost with default port 27017:

    mongosh

    This is equivalent to the following command:

    mongosh "mongodb://localhost:27017"

    To specify a port to connect to on localhost, you can use:

    • A connection string.

      Beaker IconExample

      To connect to a MongoDB instance running on localhost with a non-default port 28015:

      mongosh "mongodb://localhost:28015"
    • The command-line option --port.

      Beaker IconExample

      To connect to a MongoDB instance running on localhost with a non-default port 28015:

      mongosh --port 28015

    To specify a remote host and port, you can use:

    • A connection string.

      Beaker IconExample

      To connect to a MongoDB instance running on a remote host on port 28015:

      mongosh "mongodb://mongodb0.example.com:28015"
      Info With Circle IconCreated with Sketch.Note
      Connecting to Atlas

      If your remote host is a MongoDB Atlas cluster, you can copy your connection string from the Atlas UI. To learn more, see Connect to a Cluster.

    • The command-line options --host and --port. If you do not include the --port option, mongosh uses the default port 27017.

      Beaker IconExample

      To connect to a MongoDB instance running on a remote host on port 28015:

      mongosh --host mongodb0.example.com --port 28015

    To connect to a MongoDB instance requires authentication, use the --username and --authenticationDatabase command-line options. mongosh prompts you for a password, which it masks as you type.

    Beaker IconExample

    To connect to a remote MongoDB instance and authenticate against the admin database as user alice:

    mongosh "mongodb://mongodb0.example.com:28015" --username alice --authenticationDatabase admin
    Info With Circle IconCreated with Sketch.Note

    To provide a password with the command instead of using the masked prompt, you can use the --password option.

    Bulb IconTip
    See Also:

    To connect to a replica set:

    • If you are using the DNS Seedlist Connection Format, you can include the +srv modifier in your connection string.

      Beaker IconExample
      mongosh "mongodb+srv://server.example.com/"
      Info With Circle IconCreated with Sketch.Note

      Using the +srv connection string modifier automatically sets the tls option to true for the connection. You can override this behavior by explicitly setting tls to false.

    • You can specify the replica set name and members in the connection string.

      Beaker IconExample

      To connect to a three-member replica set named replA:

      mongosh "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"
    Info With Circle IconCreated with Sketch.Note

    mongosh adds the directConnection=true query parameter to the connection string automatically unless at least one of the following is true:

    • The replicaSet query parameter is present in the connection string.
    • The connection string uses the mongodb+srv:// scheme.
    • The connection string contains a seed list with multiple hosts.

    For tls connections:

    • If you are using the DNS Seedlist Connection Format, the +srv connection string modifier automatically sets the tls option to true for the connection:

      Beaker IconExample

      To connect to a DNS seedlist-defined replica set with tls enabled:

      mongosh "mongodb+srv://server.example.com/"
    • You can use the tls option to set tls=true in the connection string:

      Beaker IconExample

      To enable tls in the connection string:

      mongosh "mongodb://mongodb0.example.com:28015/?tls=true"
    • You can specify the --tls command-line option.

      Beaker IconExample

      To connect to a remote host with tls enabled:

      mongosh "mongodb://mongodb0.example.com:28015" --tls

    To connect to a specific database, specify a database in your connection string URI path. If you do not specify a database in your URI path, you connect to a database named test.

    Beaker IconExample

    The following connection string URI connects to database db1.

    mongosh "mongodb://localhost:27017/db1"

    You can use the Mongo or the connect() methods to connect to a different MongoDB deployment from within the MongoDB Shell.

    To learn how to connect to a different deployment using these methods, see Open a New Connection.

    Use the db.getMongo method to verify your current database connection.

    The method returns the connection string URI for your current connection.

    To disconnect from a deployment and exit mongosh, you can:

    • Type .exit, exit, or exit().
    • Type quit or quit().
    • Press Ctrl + D.
    • Press Ctrl + C twice.

    mongosh currently does not support Kerberos authentication.

    Give Feedback