{
  "name": "mongosh",
  "description": "The MongoDB Shell, mongosh  is a fully functional JavaScript and Node.js 14.x REPL environment for interacting with MongoDB deployments",
  "options": [
    {
      "names": [
        "-v",
        "--version"
      ],
      "description": "View your current mongosh version"
    },
    {
      "names": [
        "--shell"
      ],
      "description": "Enables the shell interface. If you invoke the mongosh command and specify a JavaScript file as an argument, or use --eval to specify JavaScript on the command line, the --shell option provides the us"
    },
    {
      "names": [
        "--eval"
      ],
      "description": "Evaluates a JavaScript expression that is specified as an argument. mongosh does not load its own environment when evaluating code. As a result many options of the shell environment are not available.",
      "takes_arg": true,
      "arg": {
        "name": "javascript"
      }
    },
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Returns information on the options and use of the MongoDB Shell"
    },
    {
      "names": [
        "--authenticationDatabase"
      ],
      "description": "Specifies the authentication database where the specified --username has been created. See Authentication Database",
      "takes_arg": true,
      "arg": {
        "name": "dbname"
      }
    },
    {
      "names": [
        "--gssapiHostName"
      ],
      "description": "Specify the hostname of a service using GSSAPI/Kerberos. Only required if the hostname of a machine does not match the hostname resolved by DNS",
      "takes_arg": true,
      "arg": {
        "name": "hostname",
        "description": "This option is available only in MongoDB Enterprise"
      }
    },
    {
      "names": [
        "--gssapiServiceName"
      ],
      "description": "Specify the name of the service using GSSAPI/Kerberos. Only required if the service does not use the default name of mongodb",
      "takes_arg": true,
      "arg": {
        "name": "saslServiceName",
        "description": "GssapiServiceName defaults to mongodb for all clients and MongoDB instances. If you change saslServiceName setting on a MongoDB instance, you must set gssapiServiceName to match that setting"
      }
    },
    {
      "names": [
        "--password",
        "-p"
      ],
      "description": "Specifies a password with which to authenticate to a MongoDB database that uses authentication. Use in conjunction with the --username and --authenticationDatabase options",
      "takes_arg": true,
      "arg": {
        "name": "password"
      }
    },
    {
      "names": [
        "--username",
        "-u"
      ],
      "description": "Specifies a username with which to authenticate to a MongoDB database that uses authentication. Use in conjunction with the --password and --authenticationDatabase options",
      "takes_arg": true,
      "arg": {
        "name": "username"
      }
    },
    {
      "names": [
        "--retryWrites"
      ],
      "description": "Enables retryable writes as the default for sessions in the MongoDB Shell"
    },
    {
      "names": [
        "--authenticationMechanism"
      ],
      "description": "Specifies the authentication mechanism the MongoDB Shell uses to authenticate to the mongod or mongos",
      "takes_arg": true,
      "arg": {
        "name": "authentication mechanism",
        "suggestions": [
          "SCRAM-SHA-1",
          "SCRAM-SHA-256",
          "MONGODB-X509",
          "GSSAPI (Kerberos)",
          "PLAIN (LDAP SASL)"
        ]
      }
    },
    {
      "names": [
        "--nodb"
      ],
      "description": "Prevents the shell from connecting to any database instances"
    },
    {
      "names": [
        "--norc"
      ],
      "description": "Prevents the shell from sourcing and evaluating ~/.mongoshrc.js on startup"
    },
    {
      "names": [
        "--quiet"
      ],
      "description": "Skips all messages during startup (such as welcome messages and startup warnings) and goes directly to the prompt"
    },
    {
      "names": [
        "--verbose"
      ],
      "description": "Increases the verbosity of the shell output during the connection process and when running commands"
    },
    {
      "names": [
        "--port"
      ],
      "description": "Specifies the port where the mongod or mongos instance is listening. If --port is not specified, the MongoDB Shell attempts to connect to port 27017",
      "takes_arg": true,
      "arg": {
        "name": "port",
        "suggestions": [
          "27017"
        ]
      }
    },
    {
      "names": [
        "--tls"
      ],
      "description": "Enables connection to a mongod or mongos that has TLS SSL support enabled"
    },
    {
      "names": [
        "--tlsAllowInvalidHostnames"
      ],
      "description": "Disables the validation of the hostnames in the certificate presented by the mongod/mongos instance. Allows the MongoDB Shell to connect to MongoDB instances even if the hostname in the server certifi"
    },
    {
      "names": [
        "--tlsAllowInvalidCertificates"
      ],
      "description": "Bypasses the validation checks for the certificates presented by the mongod/mongos instance and allows connections to servers that present invalid certificates"
    },
    {
      "names": [
        "--tlsDisabledProtocols"
      ],
      "description": "Disables the specified TLS protocols",
      "takes_arg": true,
      "arg": {
        "name": "protocols",
        "suggestions": [
          "TLS1_0",
          "TLS1_1",
          "TLS1_2",
          "TLS1_3"
        ]
      }
    },
    {
      "names": [
        "--tlsCAFile"
      ],
      "description": "Specifies the .pem file that contains the root certificate chain from the Certificate Authority. This file is used to validate the certificate presented by the mongod/mongos instance",
      "takes_arg": true,
      "arg": {
        "name": "filePath"
      }
    },
    {
      "names": [
        "--tlsCRLFile"
      ],
      "description": "Specifies the .pem file that contains the root certificate chain from the Certificate Authority. This file is used to validate the certificate presented by the mongod/mongos instance",
      "takes_arg": true,
      "arg": {
        "name": "filePath"
      }
    },
    {
      "names": [
        "--tlsCertificateKeyFile"
      ],
      "description": "Enables connection to a mongod or mongos that has TLS SSL support enabled",
      "takes_arg": true,
      "arg": {
        "name": "filePath"
      }
    }
  ],
  "args": [
    {
      "name": "Connection String",
      "suggestions": [
        "mongodb://localhost:27017",
        "mongodb+srv://cluster0.example.mongodb.net/sample_geospatial"
      ]
    }
  ]
}
