使用mongodb的好处就是想怎么存就怎么存,不需要考虑表格的结构,所以特别适合存储爬虫数据。首先官网下载对应版本的MongoDB,然后安装到指定路径中,使用cmd进入目标bin文件夹,命令如下:
C:\Users>d:
D:\>cd mongodb\bin
D:\MongoDB\bin>mongod --dbpath D:\mongodb\bin
一般有这个提示就表示服务端开启成功:
现在只需要再进入bin文件夹下开启客户端就可以,命令也很简单,直接输入mongo即可,然后就可以开始使用数据库了:
首先说下MongoDB的数据库的基本组成结构:
数据库 DataBase
集合(即数据表格) Collection
文档(即每一条数据)Document
字段 field
索引 index
主键 primary key
show dbs 查看所有数据库
use 使用数据库,如果没有的话会自动创建一个数据库,但是如果没有写入数据的话,是不会保存的。
show collections\tables 查看数据库中的集合,因为表格中就只有一个集合,所以查询到的都是这一个。
db.creatCollection() 创建集合
db.test.drop() 删除集合
db.test.insert( ) 插入一条数据
db.test.findOne( ) 查看一个文档
db.test.find() 查看所有文档
db.test.find().count() 查看文档个数
db.test.find().sort({字段:1}) 根据字段排序,1为正序,-1为倒序
db.stu.find({条件},{字段})) 映射
db.test.update( ) 修改文档
修改文档内部所有,结果就是文档只剩下字段1
db.test.update({字段1:值1},{字段1:值2})
指定字段修改,只修改字段1,其他的字段不修改
db.test.update({字段1:值1},{$set:{字段1:值2}})
多个文档指定字段修改
db.test.update({字段1:值1},{$set:{字段1:值2}},{multi: true})
常用运算符:
$gt 大于
$lt 小于
$gte 大于或等于
$lte 小于或等于
$in 是否满足某个范围
$nin 是否不在某个范围
$all 是否同时满足某些条件
db.test.find({字段:{$all:[]}})
$or 是否满足某些条件中的一个
查找同时name为"a","b"的文档
查询年纪大于16的文档:
查找age大于等于18和gender为true的文档:
查询hometown为武汉和东北:
查询hometown为武汉或者年纪大于等于20的,后面接着的_id:0 就是表示不显示id :