关于利用mongodb的shell执行脚本,这点在以前的文章中有点遗漏;现在在此篇博客中做个补充;
一、在命令行中传入脚本文件
定义一个javasciprt文件,名称为:script1.js,内容如下:
- print("I am albert shao in the script1.js")
定义另一个javascript文件,名称为script2,内容如下:
- print("I like to read and study")
在命令窗口运行得到如下结果:
备注: 脚本文件必须放到mongo的同目录文件下
如果希望使用指定的主机和端口的mongodb上运行脚本,需要先指定地址然后在跟上脚本文件的名称;
mongo --quiet server-1 :3000/foo script1.js script2.js
二、交互执行js脚本
三、创建.mongorc.js文件
如果某些脚本会被频繁加载,可以将它们添加到mongor.js文件中。这个文件会在启动shell时候自动运行;
例如我们希望启动shell显示一句欢迎语句。我们在用户的主目录创建一个名为【.mongorc.js】文件,向其中添加如下代码:
- var compliment = ["like albert","attractive","intellgient"];
- var index = Math.floor(Math.random()*3);
- print("Hello, you're looking particularly " + compliment[index] + " today!");
预想可能会直接自动加载,文件目录:
运行会出现:
如果不在administer目录 则需要指定,如下一样:
另外,mongo --eval 运行一段脚本
不进入交互模式,直接在 OS 的命令行下运行一段mongodb脚本。
mongo 127.0.0.1:27017/test --eval "printjson(db.users.findOne())"