一、MongoDB 概念解析

数据库(数据库名test)→数据库表/集合(表)→数据记录行/文档(行)→数据字段/域(列)

通过下图实例,我们也可以更直观的的了解Mongo中的一些概念:

二、创建数据目录

1
2
//注意只能放在C或者D这样的根目录
c:/data/bd/

三、命令行下运行 MongoDB 服务器

1
2
//这步其实已经运行了,可以打开http://127.0.0.1:27017/ 查看
mongod.exe --dbpath d:/data/db //有的时候可以去掉.exe

这样产生的

四、将MongoDB服务器作为Windows服务运行

1
2
3
4
5
6
7
8
mongod.exe
--bind_ip yourIPadress
--port yourPortNumber
--logpath "C:\data\mongodb.log"
--logappend --dbpath "C:\data\db"
--serviceName "YourServiceName"
--serviceDisplayName "YourServiceName"
--install
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
2
3
4
5
> db.pengweb.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.pengweb.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "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”。

普通的数据库用户角色有两种,readreadWrite。顾名思义,前者只能读取数据不能修改,后者可以读取和修改。
下面是方法一:

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

MongoDB文档
MongoDB集群环境搭建Replica Set

← Prev Next →