前面讲了Redis数据库,本文介绍的是MongoDB。
它是一个基于分布式文件存储的nosql数据库。在处理大数据的时候会比MySQL更有优势。爬虫的数据如果上了一个量级,可能用MongoDB会比MySQL更好。
1.无数据结构限制
• 没有表结构的概念,每条记录可以有完全不同的结构
• 业务开发方便快捷
如:
{name:'小明',sex:'男'}
{name:'居然',address:'东北'}
{name:'小红',home:[{'山东'},{江西}]}
2.大数据量和高性能
• nosql数据库都具有非常高的读写性能,尤其在大数量下表现优秀
3.良好的支持
• 完善的文档
• 齐全的驱动支持
安装介绍手册:Windows下MongoDB的下载安装、环境配置
MongoDB安装出现权限问题处理
安装网址:官网
mongod --dbpath D:\MongoDB\data # 启动
mongo
就可以进入到mongo的操作终端了mongo -help
三元素:数据库、集合、文档
{"name": "abc", "gender": 1}
{"name": "abc", "gender": 1}
{"name": "abc", "age": 18}
{"title": "abc", "price": 1}
• 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个字节是简单的增量值
查看数据库 show dbs
切换数据库 use 数据库
查看当前的数据库db
删除数据库db.dropDatabase()
会自动创建数据库use 数据库
查看集合show tables/show collections
退出数据库db.shutdownServer()
或者 exit
(1)不手动创建集合,向不存在的集合中第一次加入数据时,集合会被创建出来
(2)手动创建集合 :db.createCollection(name,options)
db.createCollection('sub',{capped:true,size:10})
(3)查看集合show collections
(4)删除集合:db.集合名称.drop()