我们在学习前端的时候有很多种情况下需要我们使用活数据来编写demo进行练习。
什么是活数据?就是可能会随时发生改变的数据,而不是我们在平时练习的过程中写死的数据,我们前端工作者拿到的数据一般都是由后端工作人员从数据库中调取并传递给我们,而数据库一般不会让我们前端进行操作,但是我们在学习的过程中需要使用数据库的数据,这个时候我们该怎么办呢?
一般情况下我们回去伪造一些数据在练习中去使用,例如本地的json文件、jsonserver、php等等,可我们如果只是使用伪造的数据的话,在后期的学习中就无法更加清晰的了解什么是数据,数据的格式等等等等一系列的问题,在这里我给大家介绍一下mongodb这一个文档型数据库的基本使用方法。
首先在mongodb的官网上下载mongodb的安装包 大小200m左右
下载地址为:mongodb下载地址
有的同学打开网址会有些慢,这里给大家一个百度云链接:
链接:https://pan.baidu.com/s/14TjxwiHZC46pSd7LHHVidA 提取码:1h8a
我们下载完成之后就可以进行安装了,安装路径的话可以进行更改,也可以默认安装
最后一步安装的时候取消勾选Install MongoDB Compass这是个图形界面管理工具
安装完成后 我们需要自己建一个数据保存的文件夹 文件夹名为db
至于db文件夹的位置我是随意建立的 目前没有发现任何问题
然后我们打开cmd执行mongod --dbpath db文件夹路径
如果不想麻烦的小伙伴可以直接先执行一次mongod
安装红框的路径去建立对应的文件夹这里我的是G盘
然后我按照指示路径建立文件夹
再在cmd中执行mongod
此时我们发现左下角的会有输入光标闪烁 就代表 mongodb数据库启动成功
我们再新开启一个cmd命令窗口执行mongo
我们已经进入mongodb的操作界面了!!
下面是我个人总结的一些比较常用的数据操作命令
关于数据库
show dbs 显示所有的数据库
db 当前选中的数据库
use dbName 新建(切换)一个新(已有)数据库如果数据库里没有东西则这个数据库是个临时的数据库
db.dropDatabase() 需要先选中想要删除的数据库再执行此命令删除数据库
数据库中的集合
db.createCollection('集合名字') 在数据库里创建一个集合
show collections 显示该库下所有的集合
db.集合名.drop() 删除指定集合 (反馈解说)
db.集合名.insert(data) 在指定集合中增加数据(数据格式为对象格式)
db.集合名.insert(data)(如果data数据有主键id属性“_id”则会使用自定义主键“不推荐使用”)
文档(集合内容)
查询操作
db.集合名.find() 查询所有的数据
db.集合名.find().pretty() 查询数据并格式化显示
添加操作
db.集合名.insert(要添加的数据对象) 添加 默认主键是“_id”不能重复的
db.集合名.save({要添加的数据对象}) 只有主键_id是不存在的时候 save相当于插入
修改操作
db.集合名.update({根据条件找到要修改的对象},{$set:{修改完成的结果}(不加$set则会完全覆盖原数据)},{multi:true(更新一个或多个)}) 参数3控制修改全部还是一条“默认为第一条”
db.集合名.save({要修改的数据}) 修改数据里的主键_id 如果已经存在表示修改(覆盖式修改)
删除操作
db.集合名.remove({要删除数据的查询条件}) 当不写入查询条件时也就是当查询条件为{}时(执行全部删除操作)
精准增删改查(条件查询)
1.固值查询
固定字段查询值 例:db.集合名.find({精准数据限制条件”返回多个”})
2.范值查询某一个查询范围 数值查询“仅针对数值类型”
$gt“大于” $gte“大于等于” $lt“小于” $lte“小于等于” $ne“不等于”
例:db.user.find({age:{$gt:10}}) 所有满足age>15的数据
3.交集查询$and
db.user.find({$and:[条件1 条件2 ...] }) 而且
例:db.user.find($and:[{age:{$gt:15}},{age:{$lt:20}}])所有age大于15且小于20的数据
4.并集查询or
db.user.find({$or:[{},{}]})或者
例:db.user.find($or:[{age:{$gt:15}},{age:{$lt:20}}])所有age大于15或小于20的数据
数据的排序
db.user.find().sort({值为number类型的键名:(-1从大到小)(1从小到大)})
限制条数
db.user.find().limit(2) limit 限制
跳过
db.user.find().skip(2)
我们将skip 和limit 结合使用就是简单的分页查询
例如一共5 条数据每一页显示2条
那么第2页就是 db.user.find().skip(2).limit(2)
总结一个关于分页的思想公式
假设pageSize为每页多少条数据 page为当前的页码数
如果pageSize为3
第一页也就是page为1 db.user.find().skip(0).limit(3)跳过0条查询3条
第二页也就是page为2 db.user.find().skip(3).limit(3)跳过3条查询3条
第三页也就是page为3 db.user.find().skip(6).limit(3)跳过6条查询3条
不难发现查询第几页就是跳过前面几页的数据并限制查询每页显示的条数
总结得出db.user.find().skip((page-1)*pageSize).limit(pageSize)
当然作为数据库肯定有它的可视化工具
这里推荐大家使用Robo 3TRobo 3T下载
安装完成后点击左上角的两台小电脑处
弹出下面的框 初次安装应为空白
然后点击Create
Name按照个人爱好填写即可 Address就是服务器的地址 mongodb的默认地址为
localhost:27017 或 127.0.0.1:27017
链接成功 进行愉快的学习吧