内容回顾

  • Xpath选择器
    不要求记忆,只要混个眼熟即可
  • 基于openpyxl模块爬取豆瓣电影
    单页爬取
    多页爬取

1.校验请求头里面是否有User-Agent参数
请求头里面加上即可
2.限制IP规定时间内的访问次数
1.人为的加上时间延迟
在你的程序里面加上time.sleep()让你的程序间歇一段时间之后再执行
2.IP代理池

  • 非关系型数据库之MongoDB

关系型数据库与非关系型数据库

常见数据库软件的端口号

3306 MySQL

6379 redis

27017 MongoDB

今日内容概要

  • MongoDB下载与安装
  • 基本命令操作
  • 账号创建及权限管理
  • 快捷操作MongoDB软件
    Navicat
    Robo 3T

今日内容详细

MongoDB下载与安装

百度搜索官网点击社区版本(community server)下载即可

安装步骤可以参考:MongoDB 教程 | 菜鸟教程

1.下载.msi的文件

2.完成后双击该文件

custom自定义安装路径(放到D、E、F盘的根目录下)

D:

E:

F:

不要勾选install MongoDB Compass

3.手动在MongoDB文件夹根目录下(自动创建了就不要创了 版本原因)

1.创建data文件夹

然后再data文件夹内创建db文件夹

2.创建log目录

然后在log目录下创建mongod.log文件

4.将mongod.exe文件所在的路径添加到环境变量中

mongod.exe mongodb数据库的服务端

mysqld.exe MySQL数据库的服务端

5.在MongoDB文件夹根目录下

创建mongod.cfg文件

在该文件内拷贝以下代码

systemLog:

destination: file

path: "D:MongoDBlogmongod.log"

logAppend: true

storage:

journal:

enabled: true

dbPath: "D:MongoDBdatadb"

net:

bindIp: 0.0.0.0

port: 27017

setParameter:

enableLocalhostAuthBypass: false

6.系统服务制作

一定要用管理员身份打开cmd终端

mongod --config "D:MongoDBmongod.cfg" --bind_ip 0.0.0.0 --install

或者直接在命令行指定配置

mongod --bind_ip 0.0.0.0 --port 27017 --logpath D:MongoDBlogmongod.log --logappend --dbpath D:MongoDBdatadb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install --auth

注意这里--auth如果没有创建权限管理就不要加

7.启动关闭

net start MongoDB

net stop MongoDB

8.登录

mongo

MongoDB重要概念

"""

MySQL中三个重要概念

库 文件夹

表 文件夹里面的文件

记录数据 文件里面的一行行数据

"""

# 查看所有的库

show databases; # MySQL命令

show dbs # MongoDB命令

SQL术语/概念 MongoDB术语/概念 解释/说明

database database 数据库

table collection 数据库表/集合

row document 数据记录行/文档

column field 数据字段/域

index index 索引

inner join 表连接,MongoDB不支持

primary key primary key MongoDB自动将_id字段设置为主键

库的增删改查

1.创建

use 库名 # use db1

# 库不存在会自动创建(临时先创建在内存中) 但是只有当你真正在该库里面产生数据之后才会刷到硬盘(再保存到硬盘) 如果不录入数据则创建的库就没了 所以用show dbs可能查看不到

2.查看

show dbs

3.改(忽略)

4.删

要先有数据的库才能删除

use db1

db.db1.insert({'name':'jason'})

db.dropDatabase() (这里敲代码时tab键补全)

集合的增删改查

1.查

show tables

2.增

db.集合名 # 规律跟 use 库名一致 里面没有数据是show不出来的 db是关键字

db.createCollection(集合名) # db.createCollection('t2') # 直接写入硬盘

3.改(忽略)因为没有固定表结构没有字段 字段名 字段类型

4.删

db.集合名.drop() # db.t2.drop()

文档增删改查

1.增

单条

db.集合名.insert({...}) # db.t1.insert({'name':'jason'})

等价于

db.集合名.save({...})

多条

db.集合名.insert([{...},{...},{...},{...}])

2.查

查询所有

db.集合名.find() # db.t1.find()

3.改

db.集合名.update(

筛选条件

新的内容

)

db.t1.update({'name':'jason1'},{$set:{'name':'jason111'}})

4.删

db.集合名.remove(

筛选条件

)

db.t1.remove({'name':'jason2'})

#1、删除多个中的第一个

db.t1.deleteOne({ 'age': 8 })

#2、删除国家为China的全部

db.t1.deleteMany( {'addr.country': 'China'} )

#3、删除全部

db.t1.deleteMany({})

用户创建及权限管理

正常的数据库软件都应该有用户及对应的权限管理

不可能所有人都是管理员都可以对所有的数据进行操作

有些用户只可以查看,有些用户可以修改,有些用户可以删除...

管理员账户需要在admin数据库下创建

1.切换到admin数据库下

use admin

2.创建账户并且赋予权限

db.createUser(

{

user: "root",

pwd: "123",

roles: [ { role: "root", db: "admin" } ]

}

)

其他用户在test数据库下创建

1.切换到test数据库下

use test

2.创建账户并赋予权限

db.createUser(

{

user: "jason",

pwd: "123",

roles: [ { role: "readWrite", db: "test" },

{ role: "read", db: "db1" } ]

}

)

'''上述账户都可以创建多个'''

先停止服务

net stop MongoDB

再移除服务

mongod --remove

再次添加

mongod --bind_ip 0.0.0.0 --port 27017 --logpath D:MongoDBlogmongod.log --logappend --dbpath D:MongoDBdata --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install --auth

再次启动

net start MongoDB

两种验证方式

1.直接在登录的时候验证

mongo -u "root" -p "123" --port 27017 --authenticationDatabase "admin"

2.进入之后再验证

mongo

use admin

db.auth("root","123")

注意在切换账户时普通用户不能直接切换到管理员身份需要exit退出后重新进入

作业

1.记忆关系型数据库的ACID四大特性

  • 原子性(Atomicity):化学中的原子指不可再分的基本微粒,数据库中原子性强调事务是一个不可分割的整体,事务开始后所有操作要么全部成功,要么全部失败,不可能停滞在中间某个环节。如果事务执行过程中出错就会回滚到事务开始前的状态,所有的操作就像没有发生一样不会对数据库有任何影响。
  • 一致性(Consistency):事务必须使数据库从一个一致性状态变换到另一个一致性状态,即一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还是5000,这就是事务的一致性。
  • 隔离性(Isolation):当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离,比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转入钱。
  • 持久性(Durability):一个事务一旦被提交,则对数据库的所有更新将被保存到数据库中,不能回滚。

2.自己总结归纳数据库三大范式

第一范式(保证每列具有原子性,列不可再分)。

第二范式( 确保表中的每一列都和主键相关)

第三范式 (数据库中的每一列和主键列直接相关而不是间接相关)

3.自己独立完成数据库的安装并创建两个管理员账户三个普通用户账户

三个普通账户各自权限都不一致

mongodb 字段出现次数_MongoDB数据库相关推荐

  1. 修改mongodb最大查询数_mongodb数据库如何查询某个字段的最大值?

    展开全部 1.select distinct(类型抄 ),(select max(单价) from table where 类型 =c.类型 ) from table c. 2.举例bai: pers ...

  2. mongodb和mysql创建表_MongoDB 数据库创建删除、表(集合)

    一. 数据库使用 开启 mongodb 服务:要管理数据库,必须先开启服务,开启服务使用 mongod --dbpath c:\mongodb 管理 mongodb 数据库:mongo (一定要在新的 ...

  3. 2019年技术盘点云数据库篇(二):阿里云携手MongoDB率先上线4.2数据库 云上数据库已是大势所趋...

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 刘丹 出品 | CSDN云计算(ID:CSDNcloud) 随着技术的飞速发展,云数据库在云计算的大背景下,作为一种新兴的共享基础架 ...

  4. mongodb 字段检索_如何在MongoDB中创建,检索,更新和删除记录

    mongodb 字段检索 介绍 (Introduction) MongoDB is a free and open-source NoSQL document database used common ...

  5. mongodb跨集合查询_MongoDB助力一个物流订单系统

    原创不易,相遇也不易,还请各位哥哥姐姐右上角把我设为星标,点赞 在看,养成习惯,回复bigsai获取pdf资源一份 课程导学 我们都知道MongoDB是一款非常出色的非关系型文档数据库,你肯定会想问M ...

  6. 查看mongodb数据路径_【数据库】mongodb数据库安装

    简介 本文简单介绍mongodb主从备份安装.包括两部分: 数据库安装 主从配置 安装数据库 1.配置yum源 cd /etc/yum.repos.d vi mongodb-org-4.0.repo ...

  7. BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略

    BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介.下载.案例应用之详细攻略 目录 MongoDB的简介 1.MongoDB的主要功能特性 2.对MongoDB进行增删改查( ...

  8. 如何查找SAP Fiori UI上某个字段对应的底层数据库表

    我国古代,形容一个人武艺全面,会说他/她"十八般兵器样样精通".所谓十八般兵器(有时也称十八般武艺),即刀.枪.剑.戟.斧.钺.钩.叉.鞭.锏.锤.抓.镋.棍.槊.棒.拐.流星锤. ...

  9. abap mm后台表_如何查找SAP Fiori UI上某个字段对应的底层数据库表

    今天是立春,鼠年大年十一.这是Jerry鼠年的第10篇文章,也是汪子熙公众号总共第209篇原创文章. 昨天凌晨的时候,四川地区又发生了地震. 成都市民纷纷表示,我们太难了. 2020刚一开始就活得如此 ...

最新文章

  1. linux系统文件介绍
  2. AT COMMAND的命令集
  3. 2021-11-16数据结构
  4. cmos和ttl_TTL电平和CMOS电平的区别
  5. 计算机组装过程英文版,计算机组装与维护试题及答案(国外英文资料).doc
  6. PDI的steps:(5:Add XML)
  7. Azkaban 外部接口的使用与开发
  8. 判断字符串格式_Python基础教程,第四讲,字符串详解
  9. java log info乱码_跟光磊学Java开发-Java开发常用API的使用
  10. windows 2003下配置IIS6为iis5方式的隔离模式运行
  11. MPEG-2 TS流结构浅析
  12. 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
  13. 人脸识别帧数太低的解决方法
  14. 脱光解决方案——一枚大佬一枚白骨精
  15. SAP ABAP ZBA_R005获得事务代码分段,完成关键用户参数权限
  16. IDEMIA被选中提供其下一代指纹匹配引擎,成为英国内政部生物识别计划的一部分
  17. ARPU与ARPPU 的概念
  18. 谷歌提供的地理位置信息和反地理位置信息
  19. 默哀STAND SILENTLY!
  20. java 蓝桥杯 Sine之舞

热门文章

  1. InnoDB事务结构体代码变量列表
  2. Try Redis : Redis 入门教程
  3. 微信公众号开发 ssl connect error
  4. .Net判断一个对象是否为数值类型探讨总结(高营养含量,含最终代码及跑分)...
  5. Redis学习手册(事务)
  6. [TED] Kinect控制的四翼直升机
  7. cisco ios命令
  8. VSTS For Testers读书笔记(5)
  9. 深度学习数据驱动_利用深度学习实现手绘数据可视化的生成
  10. mysql查看服务器CPU和内存_怎么查看服务器的cpu和内存的硬件信息