可以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()
函数。
例:要在mongo
Shell脚本中打印结果游标中的所有项目,请使用以下惯用法:
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")