koa(扩展知识, 建议学习)
- koa是express超集(进阶版)
前后端分离和耦合概念介绍
- 面向过程 -》 面向对象 --》 面向服务
数据库 Node.js mongodb(bson json的超集)
分类: 关系型数据库: MySql 非关系型数据库: MongoDB
MongoDB安装
- 环境变量设置
- 系统服务添加有问题
- 安装 系统不太支持高版本、 降版本 3.2 3.4 写在mongodb时候, 记得删除之前创建好的文件夹
- 每次启动 最好先 net start MongoDB 在: mongo
问题?MongodDB
- MongoDB的存储数据的形式bson 数据库功能是用来存储数据的。 数据库分为关系系数据库和非关系型数据库(nosql) 关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。 非关系型数据库文件存储格式为BSON(一种JSON的扩展)。 MongoDB操作命令
- MongoDB连接地址: mongodb://127.0.0.1:27017
- use db_name 举例: 创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建 切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库
- show dbs 将我们本地的所有数据库列出来
- db/db.getName() 查看当前使用的数据库
- MongoDB 数据库 -》 集合 -》 文档 针对数据库(database)的操作
help
use db_name
db||db.getName()
db.states()
db.dropDatabase()
show dbs
db.versions()
db.getMongo()
针对集合(collections)的操作 (1)创建一个集合 db.createCollection("collName", {size: 20, capped: true, max: 100}); db.collName.isCapped(); //判断集合是否为定容量 (2)得到指定名称的集合 db.getCollection("account"); (3)得到当前db的所有集合 db.getCollectionNames(); (4)显示当前db所有集合的状态 db.printCollectionStats() 针对文档(docuemnt)的操作
添加
db.coll_name.save({}) 推荐
db.coll_name.insertOne({})
db.coll_name.insert({})
查询 db.coll_name.find(arg1,arg2) 所有的 参数解释: arg1 表示的是匹配条件 arg2 表示将来输出的内容匹配 0 表示不要, 1表示要 举例: db.movies.find({year:'1993'},{_id:0,title:1}) 升序 举例: db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:1}) 降序 举例 db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:-1}) 截取 某条以前 limit db.movies.find({year:'1993'},{_id:0,title:1}).limit(5) 截取 某条以后 skip 优先级: sort>skip>limit $or表示或者, 可以匹配多个条件 db.teachers.find({$or:[{age:10},{age:40}]}) findOne() 第一条数据 db.teachers.findOne() count() 计数 举例: db.movies.find({year: {$gt:"1993"}},{_id:0,title:1,year:1}).count() //16
删除 db.coll_name.remove({})
修改 db.coll_name.update(arg1,arg2,arg3,arg4) 参数解释:
arg1: 匹配条件
arg2: 修改的具体内容
arg3: false / true 匹配几条 false 一条 true 多条
arg4: false / true 修改几条 false 一条 true 多条 $set 直接设置 db.teachers.update({age:120},{$inc: {age: 80}},false,true) $inc 在当前基础上增加多少 db.teachers.update({age:120},{$inc: {age: 80}},false,true) 注意:db.students.update({name:'lwj'},{$inc;{age:10}},true,false)//只能修改第一条,一句话来说,虽然匹配多条但修改一条就是一条 db.students.update({name:'lwj'},{$inc:{age:10}},true)//同上 db.students.update({name:'lwj'},{$inc:{age:10}},false)//同上 db.students.update({name:'lwj'},{$inc:{age:10}},false,true)//这个自然是全都修改了
作业:
- 笔记整理
- 练习 (将所有的命令走一遍)
- 预习mongoose