可以mongo在JavaScript中为Shell 编写脚本,以在MongoDB中操纵数据或执行管理操作。
本教程提供了有关编写使用mongo shell程序访问MongoDB的JavaScript的介绍。
打开新的连接
从mongo shell或JavaScript文件,您可以使用Mongo() 构造函数实例化数据库连接
new Mongo()
new Mongo(<host>)
new Mongo(<host:port>)
考虑以下示例,该示例实例化到默认端口上在localhost上运行的MongoDB实例的新连接,并将全局db变量设置为myDatabase使用 getDB()方法:
conn = new Mongo();
db = conn.getDB("myDatabase");
如果连接到实施访问控制的MongoDB实例,则可以使用该db.auth()方法进行身份验证。
此外,您可以使用该connect()方法连接到MongoDB实例。以下示例连接到localhost使用非默认端口运行的MongoDB实例,27020并设置了全局db变量:
db = connect("localhost:27020/myDatabase");
Shell与mongo脚本的差异
| Shell Helpers | JavaScript Equivalents | 
|---|---|
show dbs, show databases | 
|
在交互模式下,mongo打印包括所有光标内容在内的操作结果。在脚本中,使用JavaScript print()函数或返回格式化JSON 的mongo 特定printjson()函数。
例:要在mongoShell脚本中打印结果游标中的所有项目,请使用以下惯用法:
cursor = db.collection.find();
while ( cursor.hasNext() ) {
   printjson( cursor.next() );
}
脚本
在系统提示下,用于mongo调用JavaScript。
--eval 选项:
mongo test --eval "printjson(db.getCollectionNames())"
执行一个JavaScript文件:
mongo localhost:27017/test myjsfile.js
您可以使用函数.js从mongo shell程序内执行文件load(),如下所示:
load("myjstest.js")
				
自学教程