#### mongodb安装
1. 官网下载对应系统文件进行安装
#### 使用mongodb
1. 新建一个存放数据库的文件夹,注意:文件名中不能有中文名和空格
2. 启动mongodb服务( 相当于服务端 )
1. mongod --dbpath c:\mongodbdatas( mg存储数据的文件夹 )
3. 连接启动的mg服务
1. 本地启的服务本地连接:mongo
2. 本地连接远程服务:mongo 127.0.0.1:27017
4. 查看已有的数据库
1. show dbs
5. 创建和查看集合( sql中的表 )
1. use learn
2. db.users.insert( { "name": "jack", "age": 20 } )
3. show collections
6. 查看当前数据库内某个集合内的数据
1. 先use进入当前数据库
2. db.users.find()
3. 根据某个条件进行查找 db.user.find( {"age": 20} )
4. 查询大于某个值的数据 db.user.find({ "age": {$gt20} })
5. 小于:db.user.find({ "age": {$lt20} })
6. 大于等于 db.user.find({ "age": {$gte20} })
7. 小于先天 db.user.find({ "age": {$lte20} })
8. 多个条件查询 db.user.find({ "age": {$lte20}, "name" :"jack" })
9. 多个条件查询 db.user.find( {"age":{gte: 20, lte: 30}} )
10. 模糊查询 db.user.find({"title": /文章/})
11. 模糊查询以某个字符开头 db.user.find({"title":/^文/})
12. 只查询出某个字段 db.user.find({{}, {"age": 1}})
13. 只查询出某两个字段 db.user.find({{}, {"age": 1, "title": "青年"}})
14. 升序 db.user.find().sort({"age": 1})
15. 降序 db.user.find().sort({"age": -1})
16. 只查询前两条 db.user.find().limit(2)
17. 跳过前两条,查询三条 db.user.find().skip(2).limit(3)
18. 查询或者条件 db.user.find($or:[{"age":20},{"age":25}])
19. 查询第一条数据 db.user.findOne || db.user.find().limit(1)
20. 查询数据数量 db.user.find().count()
21. 删除集合 db.user.drop() ( 数据库内的集合删完后,当前数据库也自动删除了
22. 删除数据库 db.dropDatabase()
23. 修改数据 db.user.update( {"name": "jack"}, {$set:{"age": 26}}} )
24. 修改整条数据 db.user.update( {"name": "jack"}, {"age": 26}} )
25. 删除某条数据 db.user.remove( {"name":"jack", "age":25} )
### mongodb GUI工具
Studio 3T || RoBo 3T
#### 数据库操作的三种方式
1. 命令行
2. Node程序中
3. GUI图形工具
#### 在Node中操作mongodb
1. require('mongodb').mongodbClient
2. mongodbClient.connect( url, (err, db) => {} )
3. db.collection('users').inserOne({"name": "jack"})
### mongodb 数据操作简化库
mongoose
### session与cookie的区别
服务端使用session保存用户的状态,将session种植到客户端,客户端使用cookie保存session,每次请求的时候
将session通过cookie带到服务端
### session的存储
1. 将session存储到redis中,因为