Navigation

    mongosh Usage

    Note
    Beta

    The MongoDB Shell (mongosh) is currently available as a Beta release. The product, its features, and the corresponding documentation may change during the Beta stage.

    To run commands in mongosh, you must first connect to a MongoDB deployment.

    To display the database you are using, type db:

    db

    The operation should return test, which is the default database.

    To switch databases, issue the use <db> helper, as in the following example:

    use <database>

    To access a different database from the current database without switching your current database context, see the db.getSiblingDB() method.

    To list the databases available to the user, use the helper show dbs.

    To create a new database, issue the use <db> command with the database that you would like to create. For example, the following commands create both the database myNewDatabase and the collection myCollection using the insertOne() operation:

    use myNewDatabase
    db.myCollection.insertOne( { x: 1 } );

    If a collection does not exist, MongoDB creates the collection when you first store data for that collection.

    The db.myCollection.insertOne() is one of the methods available in mongosh.

    • db refers to the current database.
    • myCollection is the name of the collection.

    If mongosh does not accept the name of a collection, you can use the alternative db.getCollection() syntax. For instance, if a collection name contains a space or hyphen, starts with a number, or conflicts with a built-in function:

    db.getCollection("3 test").find()
    db.getCollection("3-test").find()
    db.getCollection("stats").find()

    For more documentation of basic MongoDB operations in mongosh, see:

    When starting, mongosh checks the user's HOME directory for a JavaScript file named .mongorc.js. If found, mongosh interprets the content of .mongorc.js before displaying the prompt for the first time.

    If you use the shell to evaluate a JavaScript file or expression, either by using the --eval option on the command line or by specifying a .js file to mongosh, mongosh reads the .mongorc.js file after the JavaScript has finished processing. You can prevent .mongorc.js from being loaded by using the --norc option.

    To terminate a running command or query in mongosh, press Ctrl + C.

    Ctrl + C terminates the process in the shell, but does not terminate the process on the MongoDB server. This behavior differs from the db.killOp() method, which terminates commands on the server.

    In scenarios where the output of a command includes { ok: 0 }, mongosh throws an exception and does not return the raw output from the server.

    Note

    In the legacy mongo shell, when a command's output included { ok: 0 }, the behavior differs between commands. mongosh provides consistent behavior by always throwing an exception in these scenarios.

    The cls command clears the console. You can also clear the console with Ctrl + L and console.clear().

    Give Feedback