Appendix B. mongo: The Shell

Throughout this text, we use the mongo binary, which is the database shell. We generally assume that you are running it on the same machine as mongod and that you are running mongod on the default port, but if you are not, you can specify this on startup and have the shell connect to another server:

$ bin/mongo staging.example.com:20000

This would connect to a mongod running at staging.example.com on port 20000.

The shell also, by default, starts out connected to the test database. If you’d like db to refer to a different database, you can use /dbname after the server address:

$ bin/mongo localhost:27017/admin

This connects to mongod running locally on the default port, but db will immediately refer to the admin database.

You can also start the shell without connecting to any database by using the --nodb option. This is useful if you’d like to just play around with JavaScript or connect later:

$ bin/mongo --nodb
MongoDB shell version: 1.5.3
type "help" for help
>

Keep in mind that db isn’t the only database connection you can have. You can connect to as many databases as you would like from the shell, which can be handy in multiserver environments. Simply use the connect() method, and assign the resulting connection to any variable you’d like. For instance, with sharding, we might want mongos to refer to the mongos server and also have a connection to each shard:

> mongos = connect("localhost:27017") connecting to: localhost:27017 localhost:27017 > shard0 = connect("localhost:30000") ...

Get MongoDB: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.