- Using the
mongoShell > - Write Scripts for the
mongoShell
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 thedbglobal variable. - To set the
dbglobal 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.