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
/
after the server
address:dbname
$ 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") connecting to: localhost:30000 localhost:30000 > shard1 = connect("localhost:30001") connecting to: localhost:30001 localhost:30001
Then, we can use mongos
, shard0
,
or shard1
as the db
variable is
usually used. (Although special helpers, such as use foo
or show collections
, will not work.)
There are a number of useful shell functions that were not covered earlier.
For administrating multiple databases, it can be useful to have
multiple database variables, not db
. For example, with
sharding, you may want to maintain a separate variable pointing to your
config
database:
> config = db.getSisterDB("config") config > config.shards.find() ...
You can even connect to multiple servers within a single shell using
the connect
function:
> shard_db = connect("shard.example.com:27017/mydb") connecting to shard.example.com:27017/mydb mydb >
The shell can also run shell commands:
> runProgram("echo", "Hello", "world") shell: started mongo program echo Hello world 0 > sh6487| Hello world
18.189.170.134