2021/6/20爬虫第二十六次课(mongodb上)

一、mongodb的概述

1 它是什么?
MongoDB就是一个非关系型数据库(文档数据库)
​
​
2 为什么要学习它?
- 企业需求(要求爬虫开发工程师必须会这个技术)
- 爬虫的数据如果上了一个量级,使用MongoDB会比Mysql好一些 
- scrapy_redis适用性小(并不是所有的公司都要用分布式)
​
3 mongodb的特点?
3.1 无数据结构(方便做爬虫)
3.2 高性能(具有非常高的读写性能)
3.3 良好的支持(完善的文档 跨平台 稳定)

二、mongodb的安装

具体安装教程

第一步 下载安装文件(注意:data目录是数据存储目录,数据库中的数据就存储在这个目录中。log是日志文件的输出目录。这两个目录尽量不要改)
第二步 把bin目录添加到path环境变量里面 (C:\Program Files\MongoDB\Server\4.4\bin)
​
**启动MongoDB     mongodb --dbpath C:\Program Files\MongoDB\Server\4.4\data
**链接    mongo  #不需要cd

三、mongodb的基本命令

基础知识:文档–>集合(表)–>数据库

cls 清屏的命令
show dbs 展示数据库
use admin 使用数据库/创建数据库
db 查看现在用的数据库
show collections / show tables  查看当前使用数据库的集合(表)
db.demo.dropDatabase()

四、增加数据

自动创建表(当没有这个表的时候 我们插入一条数据 这个表自动被创建出来了)
db.jerry.insert({x:1})
​
手动创建
db.createCollection()
db.createCollection('jerry_collection')
参数
第一个参数 表名
capped 默认为False 不设置上限  True 就是有上限
size  表示设置上限的大小 字节 如果设置的大小小于256就默认是256
​
db.jerry1.isCapped() 返回值fasle没有上限 true有上限
db.jerry_collection.drop() 删除表
​
插入多条数据
db.jerry2.insert([{name:'jerry',age:18,gender:'male'},{name:'juran'}]) 记住要用到[]
for(i=3;i<10;i++)db.jerry3.insert({x:i}) 
​
指定了id 然后就找到这条记录做更新,反之就插入
db.jerry3.save({_id:ObjectId("60d08f386bd683f7c417e0ac"),name:'jerry',gengder:'male'})
db.jerry3.save({name:'jerry',gender:'male'})

五、查询数据

db.stu.find() 查询数据/可以在括号里面精确查找
db.stu.find({name:'jerry'}).pretty()
db.stu.find({age:18})
db.stu.findOne({age:18}) 把满足结果的第一条数据返回
db.stu.find({age:18,hometown:'衡阳'}) 多个条件查找
​
db.stu.find({age:{$gt:18}}) 年龄大于18
db.stu.find({age:{$gte:18}}) 年龄大于等于18
​
db.stu.find({age:{$gt:18},hometown:'长沙'}) 查找年龄大于18岁并且家乡是长沙的
db.stu.find({$or:[{age:{$gt:18}},{gender:false}]}) 查询年龄大于18或者性别为false
db.stu.find({$where:function(){return this.age>18}})定义方法查询 年龄大于18

六、操作查询结果

db.stu.find({age:18}).count() 返回查询结果的数量
db.stu.find().skip(2).limit(2) 先跳过2条数据 在返回满足结果的前2条数据
​
# 映射
指定返回的字段
如果为1返回该字段  映射主key(id) 需要_id:0
​
排序
db.stu.find().sort({age:1}) 按照年龄升序
db.stu.find().sort({age:-1}) 按照年龄降序

其他的看语雀
小技巧:

  • ctrl+c 和右键:复制与黏贴
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔记本IT

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值