This repository is a monorepo for all the various components in the MongoDB Shell across all environments (REPL, Browser, Compass, etc). For more information on currently available APIs and troubleshooting, go to our wiki.
$ mongosh [options] [db address] Options: -h, --help Show this usage information --ipv6 Enable IPv6 support (disabled by default) --host [arg] Server to connect to --port [arg] Port to connect to --version Show version information --shell Run the shell after executing files --nodb Don't connect to mongod on startup - no 'db address' [arg] expected --norc Will not run the '.mongorc.js' file on start up --eval [arg] Evaluate javascript --retryWrites Automatically retry write operations upon transient network errors --disableImplicitSessions Do not automatically create and use implicit sessions Authentication Options: -u, --username [arg] Username for authentication -p, --password [arg] Password for authentication --authenticationDatabase [arg] User source (defaults to dbname) --authenticationMechanism [arg] Authentication mechanism --gssapiServiceName [arg] (=mongodb) undefined --gssapiHostName [arg] Automatically retry write operations upon transient network errors TLS Options: --tls Use TLS for all connections --tlsCertificateKeyFile [arg] PEM certificate/key file for TLS --tlsCertificateKeyFilePassword [arg] undefined --tlsCAFile [arg] Certificate Authority file for TLS --tlsCRLFile [arg] Certificate Revocation List file for TLS --tlsAllowInvalidHostnames undefined --tlsAllowInvalidCertificates undefined --tlsCertificateSelector [arg] TLS Certificate in system store --tlsDisabledProtocols [arg] Comma separated list of TLS protocols to disable [TLS1_0,TLS1_1,TLS1_2] FLE AWS Options --awsAccessKeyId [arg] AWS Access Key for FLE Amazon KMS --awsSecretAccessKey [arg] AWS Secret Key for FLE Amazon KMS --awsSessionToken [arg] Optional AWS Session Token ID --keyVaultNamespace [arg] database.collection to store encrypted FLE parameters --kmsURL [arg] Test parameter to override the URL for DB Address Examples foo Foo database on local machine 192.168.0.5/foo Foo database on 192.168.0.5 machine 192.168.0.5:9999/foo Foo database on 192.168.0.5 machine on port 9999 mongodb://192.168.0.5:9999/foo Connection string URI can also be used File Names A list of files to run. Files must end in .js and will exit after unless --shell is specified. Examples Start mongosh using 'ships' database on specified connection string: $ mongosh mongodb://192.168.0.5:9999/ships For more information on mongosh usage: https://docs.mongodb.com/manual/mongo/.- NodeJS
~12.4.0
npm install -g lerna npm install -g typescript npm run bootstrapRun all tests:
npm testRun tests from a specific package:
lerna run test --scope mongosh-transportRun tests with all output from packages:
lerna run test --streamGetting the Stitch integration tests running requires the 2 following env variables to be set:
MONGOSH_STITCH_TEST_APP_IDMONGOSH_STITCH_TEST_SERVICE_NAME
These can be gotten from the mongosh-test cluster in the Compass Atlas clusters.
Via NPM:
npm startCompile all Typescript:
npm run compile-tsCompile the standalone executable:
npm run compile-exec