MongoDB学习笔记3
使用MongoDB shell
介绍如何将shell作为命令行工具的一部分来使用,如何对shell进行定制,以及shell的一些高级功能。
1 | //可以将shell连接到任何MongoDB实例(前提你的计算机与MongoDB实例所在计算机能够连通) |
1. shell小贴士
1 | //shell内置的帮助文档 |
2.使用shell执行脚本
shell可以将希望执行的Js文件传给shell
1 | //mongo shell会依次执行传入的脚本,然后退出 |
在脚本中可以访问db变量,以及其他全局变量。然额,shell辅助函数“use”,”show”不可以在文件中使用。这些辅助函数都有对应的JS函数。
辅助函数 | 等价函数 |
---|---|
use foo | db.getSisterDB(“foo”) |
show dbs | db.getMongo().getDBs() |
show collections | db.getCollectionNames() |
默认情况下,shell会在运行shell时所处的目录中查找脚本(可以使用run(“pwd”)命令查看)。如果脚本不在当前目录,可以为shell指定一个相对路径或者绝对路径。
1 | load("/home/jiang/my-scripts/defineConnectTo.js") |
可以在shell中使用run()函数来执行命令行程序,通常来说,这种使用方式局限性非常大,因为输出格式很怪,而且不支持管道。
1 | run("ls","-l","/home/jiang/文档") |
3.创建.mongorc.js文件
将频繁加载的脚本添加到mongorc.js文件中,这个文件会在启动shell时自动运行。在启动时指定 –norc参数,就可以禁止加载.mongorc.js。.mongorc.js最常见的用途之一是移除那些比较危险的shell辅助函数。可以在这里集中重写方法,或者为这些辅助函数添加no选项,或者取消他们的定义。
1 | //例如,我们希望启动成功时让shell显示一句欢迎语,在用户主目录下创建一个名为.mongorc.js的文件 |
1 | var no = function (){ |
4.定制shell提示
将prompt变量设为一个字符串或者函数,就可以重写默认的shell提示。
5.编辑复合变量
为了方便地调用编辑器,可以在shell中设置EDITOR变量
1 | > RRDITOR ="bin/nano" |
6.集合命名注意事项
访问无效属性名称命名的集合
1 | //法一 函数 |
Any question please contact 1-riverfish