一、MongoDB 概念解析
数据库(数据库名test)→数据库表/集合(表)→数据记录行/文档(行)→数据字段/域(列)
通过下图实例,我们也可以更直观的的了解Mongo中的一些概念:
二、创建数据目录
1 | //注意只能放在C或者D这样的根目录 |
三、命令行下运行 MongoDB 服务器
1 | //这步其实已经运行了,可以打开http://127.0.0.1:27017/ 查看 |
这样产生的
四、将MongoDB服务器作为Windows服务运行
1 | mongod.exe |
1 | mongod.exe --logpath "C:\data\mongodb.log" --logappend --dbpath "C:\data\db" --serviceName "zhp" --serviceDisplayName "zhpdisplay" --install |
–bind_ip 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
–logpath 定MongoDB日志文件,注意是指定文件不是目录
–logappend 使用追加的方式写日志
–dbpath 指定数据库路径
–port 指定服务端口号,默认端口27017
–serviceName 指定服务名称
–serviceDisplayNam 指定服务名称,有多个mongodb服务时执行。
–install 指定作为一个Windows服务安装。
–auth 启用验证
–httpinterface 开启HTTP接口
五、管理数据库
再开启一个cmd控制台1
2
3
4
5
6//进入Shell模式
mongo
//展示
MongoDB shell version: 3.0.6
connecting to: test //默认连接的数据库
六、创建/切换到一个指定的数据库
1 | > use local |
七、显示所有数据库
1 | > show dbs |
八、显示当前数据库
1 | > db |
九、插入一些简单的记录并查找它:
1 | > db.pengweb.insert({x:10}) |
第一个命令将数字 10 插入到 pengweb 集合的 x 字段中。
十、其他命令
十一、可视化工具Robomongo
十二、增加用户
进入admin库创建管理员admin → 进入自定义库创建需要的用户
12.1 开启用户功能
1 | mongod.exe --dbpath d:/data/db --auth |
创建管理员
用户管理员是第一个要创建的用户。
在没有创建任何用户之前,你可以随意创建用户;
但数据库中一旦有了用户,那么未登录的客户端就没有权限做任何操作了,除非使用db.auth(username, password)方法登录。
用户管理员的角色名叫 userAdminAnyDatabase
,这个角色只能在 admin 数据库中创建。
下面是一个例子:
进入mongo Shell命令1
2> use admin
> db.createUser({user:"root",pwd:"root123",roles:["userAdminAnyDatabase"]})
这个例子创建了一个名为 root 的用户管理员。创建完了这个用户之后,我们应该马上以该用户的身份登录:1
2> db.auth("root","root123")
1
db.auth() 方法返回 1 表示登录成功。接下来我们为指定的数据库创建访问所需的账号。
创建数据库用户
首先保证你已经以用户管理员的身份登录 admin 数据库。然后用 use 命令切换到目标数据库,同样用 db.createUser() 命令来创建用户,其中角色名为 “readWrite”。
普通的数据库用户角色有两种,read
和 readWrite
。顾名思义,前者只能读取数据不能修改,后者可以读取和修改。
下面是方法一:1
2
3
4> use test
> db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]})
> db.auth("testuser","testpass")
1
方法二:1
2// 用 URI 形式对数据库进行连接
mongodb://simpleUser:simplePass@your.db.ip.address:27017/foo