The Mongo Shell - MongoDB Manual Ingles
The Mongo Shell - MongoDB Manual Ingles
The mongo shell is an interactive JavaScript interface to MongoDB. You can use the mongo shell to query
and update data as well as perform administrative operations.
The mongo shell is included as part of the MongoDB Server installation. MongoDB also provides the mongo
shell as a standalone package. To download the standalone mongo shell package:
1. Open the Download Center . For the mongo Enterprise Shell, select the MongoDB Enterprise
Server tab.
2. Select your preferred Version and OS from the dropdowns.
3. Select Shell from the Package dropdown and click Download to start downloading the package.
If the Shell option is unavailable for the selected OS and Version, contact MongoDB Technical
Support for assistance.
Once you have installed and have started MongoDB, connect the mongo shell to your running MongoDB
instance.
NOTE:
Starting in MongoDB 4.2 (and 4.0.13), the mongo shell displays a warning message when connected to
non-genuine MongoDB instances as these instances may behave differently from the official MongoDB
instances; e.g. missing or incomplete features, different feature behaviors, etc.
https://docs.mongodb.com/manual/mongo/ 1/8
18/2/2020 The mongo Shell — MongoDB Manual
Ensure that MongoDB is running before attempting to start the mongo shell.
Documentation Search Documentation
Open a terminal window (or a command prompt for Windows) and go to your <mongodb installation
dir>/bin directory:
TIP:
Adding your <mongodb installation dir>/bin to the PATH environment variable allows you to
type mongo instead of having to go to the <mongodb installation dir>/bin directory or specify
the full path to the binary.
You can run mongo shell without any command-line options to connect to a MongoDB instance running on
your localhost with default port 27017:
mongo
To explicitly specify the port, include the --port command-line option. For example, to connect to a
MongoDB instance running on localhost with a non-default port 28015:
You can specify a connection string. For example, to connect to a MongoDB instance running on a
remote host machine:
mongo "mongodb://mongodb0.example.com:28015"
https://docs.mongodb.com/manual/mongo/ 2/8
18/2/2020 The mongo Shell — MongoDB Manual
You can use the --host <host> and --port <port> command-line options. For example, to
connect to a MongoDB instance running on a remote host machine:
You can specify the username, authentication database, and optionally the password in the connection
string. For example, to connect and authenticate to a remote MongoDB instance as user alice:
NOTE:
If you do not specify the password in the connection string, the shell will prompt for the password.
mongo "mongodb://[email protected]:28015/?authSource=admin"
You can use the --username <user> and --password, --authenticationDatabase <db>
command-line options. For example, to connect and authenticate to a remote MongoDB instance as
user alice:
NOTE:
If you specify --password without the user’s password, the shell will prompt for the password.
https://docs.mongodb.com/manual/mongo/ 3/8
18/2/2020 The mongo Shell — MongoDB Manual
You can specify the replica set name and members in the connection string.
mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017
If using the DNS Seedlist Connection Format, you can specify the connection string:
mongo "mongodb+srv://server.example.com/"
NOTE:
Use of the +srv connection string modifier automatically sets the ssl option to true for the
connection.
You can specify the replica set name and members from the --host <replica set
name>/<host1>:<port1>,<host2>:<port2>,... command-line option. For example, to
connect to replica set named replA:
TLS/SSL Connection
mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017
If using the DNS Seedlist Connection Format, you can include the +srv connection string modifier:
mongo "mongodb+srv://server.example.com/"
NOTE:
https://docs.mongodb.com/manual/mongo/ 4/8
18/2/2020 The mongo Shell — MongoDB Manual
Use of the +srv connection string modifier automatically sets the ssl option to true for the
Documentation Search Documentation
connection.
You can specify --ssl command-line option. For example, to connect to replica set named replA:
SEE ALSO:
For more information on the options used in the connection examples as well as other options, see
mongo reference and examples of starting up mongo.
db
To switch databases, issue the use <db> helper, as in the following example:
use <database>
See also db.getSiblingDB() method to access a different database from the current database without
switching your current database context (i.e. db).
To list the databases available to the user, use the helper show dbs. [1]
You can switch to non-existing databases. When you first store data in the database, such as by creating a
collection, MongoDB creates the database. For example, the following creates both the database
myNewDatabase and the collection myCollection during the insertOne() operation:
https://docs.mongodb.com/manual/mongo/ 5/8
18/2/2020 The mongo Shell — MongoDB Manual
use myNewDatabase
Documentation Search Documentation
db.myCollection.insertOne( { x: 1 } );
If the mongo shell 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()
The mongo shell prompt has a limit of 4095 codepoints for each line. If you enter a line with more than 4095
codepoints, the shell will truncate it.
For more documentation of basic MongoDB operations in the mongo shell, see:
[1] If the deployment runs with access control, the operation returns different values based on user privileges. See
listDatabases Behavior for details.
https://docs.mongodb.com/manual/mongo/ 6/8
18/2/2020 The mongo Shell — MongoDB Manual
The db.collection.find() method returns a cursor to the results; however, in the mongo shell, if the
Documentation Search Documentation
returned cursor is not assigned to a variable using the var keyword, then the cursor is automatically iterated
up to 20 times to print up to the first 20 documents that match the query. The mongo shell will prompt Type
it to iterate another 20 times.
To format the printed result, you can add the .pretty() to the operation, as in the following:
db.myCollection.find().pretty()
In addition, you can use the following explicit print methods in the mongo shell:
For more information and examples on cursor handling in the mongo shell, see Iterate a Cursor in the mongo
Shell. See also Cursor Help for list of cursor help in the mongo shell.
If you end a line with an open parenthesis ('('), an open brace ('{'), or an open bracket ('['), then the
subsequent lines start with ellipsis ("...") until you enter the corresponding closing parenthesis (')'), the
closing brace ('}') or the closing bracket (']'). The mongo shell waits for the closing parenthesis, closing
brace, or the closing bracket before evaluating the code, as in the following example:
> if ( x > 0 ) {
... count++;
... print (x);
... }
You can exit the line continuation mode if you enter two blank lines, as in the following example:
> if (x > 0
...
...
>
https://docs.mongodb.com/manual/mongo/ 7/8
18/2/2020 The mongo Shell — MongoDB Manual
Use the up/down arrow keys to scroll through command history. See .dbshell documentation for more
information on the .dbshell file.
Use <Tab> to autocomplete or to list the completion possibilities, as in the following example which
uses <Tab> to complete the method name starting with the letter 'c':
db.myCollection.c<Tab>
Because there are many collection methods starting with the letter 'c', the <Tab> will list the various
methods that start with 'c'.
.mongorc.js File
When starting, mongo checks the user’s HOME directory for a JavaScript file named .mongorc.js. If found,
mongo 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 mongo, mongo will read the .mongorc.js file after the JavaScript has finished
processing. You can prevent .mongorc.js from being loaded by using the --norc option.
SEE ALSO:
https://docs.mongodb.com/manual/mongo/ 8/8