前面讲了Redis数据库,本文介绍的是MongoDB。
MongoDB的入门介绍
1 MongoDB用途和安装
1.1 用途
它是一个基于分布式文件存储的nosql数据库。在处理大数据的时候会比MySQL更有优势。爬虫的数据如果上了一个量级,可能用MongoDB会比MySQL更好。
1.2 优势
1.无数据结构限制
• 没有表结构的概念,每条记录可以有完全不同的结构
• 业务开发方便快捷
如:
{name:'小明',sex:'男'}
{name:'居然',address:'东北'}
{name:'小红',home:[{'山东'},{江西}]}
2.大数据量和高性能
• nosql数据库都具有非常高的读写性能,尤其在大数量下表现优秀
3.良好的支持
• 完善的文档
• 齐全的驱动支持
1.3 MongDB的安装及运行
安装介绍手册:Windows下MongoDB的下载安装、环境配置
MongoDB安装出现权限问题处理
安装网址:官网
1.4 MongDB运行和连接
- MongoDB运行
1.把MongoDB的bin目录加入到环境变量中
2.执行命令
mongod --dbpath D:\MongoDB\data # 启动
- MongoDB连接
在环境变量设置好的前提下,使用以下命令mongo
就可以进入到mongo的操作终端了
查看帮助命令mongo -help
2 MongoDB的概念介绍
2.1 数据库概念
2.2 MongoDB三元素
三元素:数据库、集合、文档
- 文档:就是关系型数据库中的一行。文档是一个对象,由键值对构成,是json的扩展形式
{"name": "abc", "gender": 1}
- 集合:就是关系型数据库中的表。可以存储多个文档,结构可以不固定
{"name": "abc", "gender": 1}
{"name": "abc", "age": 18}
{"title": "abc", "price": 1}
2.3 MongoDB的数据类型
• String:字符串,必须是有效的UTF-8
• Boolean:存储一个布尔值,true或者false
• Integer:整数可以是32位或64位,这取决于服务器
• Double:存储浮点数
• Arrays:数组或列表
• Object:嵌入式文档
• Null:存储Null值
• Timestamp:时间戳, 表示从1970-1-1到现在的总秒数
• Object ID是一个12字节的十六进制数
• 前4个字节为当前时间戳
• 接下来3个字节的机器ID
• 接下来的2个字节中MongoDB的服务进程id
• 最后3个字节是简单的增量值
3 MongoDB的基本使用
3.1 数据库操作
查看数据库 show dbs
切换数据库 use 数据库
查看当前的数据库db
删除数据库db.dropDatabase()
会自动创建数据库use 数据库
查看集合show tables/show collections
退出数据库db.shutdownServer()
或者 exit
3.2 集合操作
(1)不手动创建集合,向不存在的集合中第一次加入数据时,集合会被创建出来
(2)手动创建集合 :db.createCollection(name,options)
- name: 要创建的集合名称
- options: 可选参数, 指定有关内存大小及索引的选项
db.createCollection('sub',{capped:true,size:10})
- 参数capped:默认值为false表示不设置上限,值为true表示设置上限
- 参数size:当capped值为true时,需要制定此参数。表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节
(3)查看集合show collections
(4)删除集合:db.集合名称.drop()