数据库分类
关系型数据
就是在数据库存储中有一张一张的表 表与表之间相关有所关联 形成了一个数据组织(二维表格模型 )
Mysql oracle sql server DB2
非关系型数据库
一个新的理念 以key---val对的形式在进行存储的
Mongodb redis
Nosql
Not only sql 不仅仅是sql 可以使用json的方式来进行数据存储没有表结构
mongodb安装
1.mongodb安装





出现如下界面表示安装成功

安装完成之后 去你电脑上的硬盘中对应的安装路径中
应该是这个样子的

点击进入到bin文件夹下

2创建mongodb服务
在mongodb的安装路径中于bin文件夹同级创建一个data的文件夹

进入到data这个文件夹中在创建一个db的文件夹

安装mongodb的服务
注意:使用管理员方式打开cmd

把cmd的路径定位到 你的安装mongodb这 个文件夹中


然后在cmd中输入mongod.exe --install --dbpath 数据的目录(就是你之前创建的哪个db的路径) --logpath 日志的目录(就是你创建的哪个data的文件夹然后在后面加上一个\log.txt 这个文件回自己创建你加上就好)

注意如果上图中你回车了 出现了很多内容 那就是配置失败
配置失败处理的方式 首先确定你的data和db文件夹的位置是否正确
检查你在创建服务的时候输入的上图内容是否正确
启动服务器
启动服务注意必须在mongodb的bin文件夹下启动 输入 net start mongodb

链接

数据库操作
查看所有的数据库 show dbs

新增数据库/切换 如果有就切换如果没有就是新增
use 数据库的名字

创建一个集合
db.createCollection(“集合的名字”)

删除库
- 必须先用use 库名 切换到你要删除的库中
- db.dropDatabase() 注意单词大小写

集合操作
即创建集合又新增内容

查看当前库中的所有集合

删除集合

集合的更多操作
增
1.向集合中插入一条数据
db.集合名.insert({key:val})

2.插入多条数据
Db.集合名.insert( [{key:val},{key:val},{key:val},{key:val}..........] )

你在插入的时候默认会给你一个id 那么这个id我能否自己指定

你刚才手工修改id了 那么如果我在存储数据的时候id相同会发生什么?
默认情况下id如果相同是插入不进去的

如果我就是想让id相同并且插入数据的话怎么办?
Db.你要插入的集合名.save({key:val})
Save 和 insert 两种方式的区别
Save 插入数据的时候如果这个id存在那么就是修改
Insert 插入数据的时候如果这个id存在那么就报错

查
1.查看集合的所有数据
Db.你要查看的集合名.find()
2.条件查询
Db.你要查看的集合名.find({查询条件})

3.条件运算符查询
大于 $gt
小于 $lt
大于等于 $gte
小于等于 $lte
不等于 $ne
Db.你要查询的集合.find( {key : {$gt:???} } )
我想查询出年龄大于20岁的所有数据

4.读取指定数量的记录条数
Limit()
Db.查询的集合.find().limit(数字)

5.skip跳过指定数量的数据

例 数据库分页
第一次读取前三条 第二次读取4-6条 第三次读取7-9条

修改
db.集合名.update({需要修改的内容},{$set:{修改后的内容},{multi:false}})
multi:默认是false 只需要找到的第一条数据,true 修改全部数据


删除
db.集合名.remove(条件)

4万+

被折叠的 条评论
为什么被折叠?



