目录
MongoDB 基本用法
演示前提:
登录单机模式的 mongodb 服务器命令
mongod.exe --config "E:\install\mongodb\mongodb-4.2.25\mongod.conf"
登录【admin】数据库的 mongodb 客户端命令
mongo mongodb://192.168.0.107:27017/admin -u admin -p 123456
登录【test】数据库的 mongodb 客户端命令
mongo mongodb://192.168.0.107:27017/test -u LJHAAA -p 123456
删除测试数据库
把之前演示的数据库都删干净
db.dropDatabase() 删除当前数据库
SQL 数据库 与 MongoDB 的对比
mongodb 的创建、查看、删除集合,就相当于 mysql 的创建、查看、删除表。
mongodb 的插入文档 就相当于 mysql 的插入一条数据记录行。
mongodb 的嵌套文档格式如图:
mongodb 图形界面工具 – Studio 3T
下载
推荐一个 MongoDB 的 GUI 图形界面工具: Robo 3T
直接点击下载。
安装
解压压缩包,只有这么一个启动的应用程序。
双击安装
选择安装路径,后面就安装成功了。
第一次使用:注册
下一步到这里,浏览器弹出页面让我们注册
点击注册
填了邮箱,密码,但是手机号码就随便填了。
注册成功。
有 30 天的使用期,后面没买的话,就会自动切换为免费版。
添加一个连接(连接 mongodb 数据库)
1、点击【添加新连接】,选择【手动配置我的连接设置】
2、对 Server 设置连接数据
3、连接的用户认证设置(创建数据库和用户)
认证这里,需要添加数据库和用户,直接创建一个【test】数据库,在该数据库添加一个【LJHAAA】的用户。
创建【test】数据库之后,在该数据库中创建自己的用户【LJHAAA】 ,且为该用户分配访问本数据库的权限【readWrite、userAdmin】
添加用户的命令
db.createUser({ user: "LJHAAA",pwd: "123456",roles: [
{ role: "readWrite", db: "test" },
{ role: "userAdmin", db: "test" }]
});
readWrite:对 test 这个数据库有读写的权限
userAdmin:对test这个数据库可以进行用户管理的权限
如图:添加 mongodb 数据库的连接成功
4、选择默认加密
直接点 next
直接点 finish
5、完成连接,打开初始界面
可以看到,新建的这个连接,只能看到【test】这个数据库。
因为连接的这个【test】数据库里面的用户【LJHAAA】,它的权限只能操作【test】这个数据库。
所以只能看到这个【test】数据库。
再添加一个连接来对比
这里再添加一个连接,连接的数据库是【admin】,用户是【admin】,这个用户是一个管理员
新建一个连接
连接【admin】这个mongodb数据库,连接的用户的【admin】这个管理员。
可以看到,admin这个管理员也能看到这个【test】数据库
创建集合( Collection )(相当于 mysql 创建表)
命令
类似于SQL数据库的建表。
SQL数据库的表一旦限制了它能包含哪些列,那意味着插入记录时必须、且只能有这些列。
但 MongoDB 的 Collection 不是,MongoDB 的 Collection 只是一个名称,它并不限制该 Collection 要包含哪些 field。
创建集合的命令:
db.createCollection(name, options)
该命令需要两个参数:
name:要创建的集合名。
options:可选参数,用于指定有关内存大小及索引等选项。
options可指定如下字段(field):
- capped:指定是否创建固定集合。固定集合代表大小固定的集合,
当达到最大值时,新添加的文档会自动覆盖最早的文档。创建固定集合时,必须指定size参数。
【相当于】:新插入的文档会将最早的文档挤出去。
- size:用于为固定集合指定容量的最大值,以KB为单位。
- max:用于为固定集合指定允许包含文档的最大数量。
当插入文档时,MongoDB 首先检查固定集合的size字段,然后检查max字段
MongoDB的一个优势是:各 Collection 可以随意插入任意字段的数据。
演示
1、添加一个集合
在 【test】 数据库中创建一个【user】集合
db.createCollection("user")
在图形界面如图:
2、插入一条文档
插入一条文档的命令
db.user.insert({"username":"aaa"})
3、查看插入文档记录
查看插入文档的记录的命令
db.user.find()
再随便插入多个字段都可以,没有限制。
各 Collection 可以随意插入任意字段的数据
4、添加有设置参数的集合
options可指定如下字段(field)----capped、max、size
capped 指定为true时,max 和 size 这两个字段都要设置
删除集合( Collection )
db.集合名.drop():删除指定集合。
从上面命令格式可以看出,集合被创建之后,该集合也变成了db的属性,
因此可通过如下命令来查看该集合支持的所有方法。
db.集合名.help()
删除掉 books 这个集合:
查看集合( Collection )
查看当前数据库中所有集合(表):
show collections
或
show tables