- Using the
mongo
Shell > - Write Scripts for the
mongo
Shell
Write Scripts for the mongo
Shell¶
On this page
You can write scripts for the mongo
shell in JavaScript
that manipulate data in MongoDB or perform administrative
operation. For more information about the mongo
shell see
Using the mongo Shell, and see the Running .js files via a mongo shell Instance on the Server
section for more information about using these mongo
script.
This tutorial provides an introduction to writing JavaScript that uses
the mongo
shell to access MongoDB.
Opening New Connections¶
From the mongo
shell or from a JavaScript file, you can
instantiate database connections using the Mongo()
constructor:
Consider the following example that instantiates a new connection to
the MongoDB instance running on localhost on the default port and sets
the global db
variable to myDatabase
using the
getDB()
method:
Additionally, you can use the connect()
method
to connect to the MongoDB instance. The following example connects to
the MongoDB instance that is running on localhost
with the
non-default port 27020
and set the global db
variable:
If you create new connections inside a JavaScript file:
- You cannot use
use <dbname>
inside the file to set thedb
global variable. - To set the
db
global variable, use thegetDB()
method or theconnect()
method. You can assign the database reference to a variable other thandb
. - Additionally, inside the script, you would need to call
db.getLastErrorObj()
ordb.getLastError()
explicitly to wait for the result of write operations.
Scripting¶
From the command line, use mongo
to evaluate JavaScript.
--eval
option¶
Use the --eval
option to mongo
to
pass the shell a JavaScript fragment, as in the following:
This returns the output of db.getCollectionNames()
using the
mongo
shell connected to the mongod
or
mongos
instance running on port 27017
on the
localhost
interface.
Evaluate a JavaScript file¶
You can specify a .js
file to the mongo
shell, and
mongo
will evaluate the javascript directly. Consider the
following example:
This operation evaluates the myjsfile.js
script in a
mongo
shell that connects to the test
database
on the mongod
instance accessible via the localhost
interface on port 27017
.
Alternately, you can specify the mongodb connection parameters inside
of the javascript file using the Mongo()
constructor. See
Opening New Connections for more information.