koa作为下一代web应用框架,尤其是使用了ES7的async和await,更是把简洁渗入血脉。在开始说koa之前,我们先讲讲koa的好搭档MongoDB。
mongoBD服务配置(window)
在MongoDB安装目录下bin同级下,新建目录
1 | mkdir data |
添加环境变量
此电脑 => 属性 => 高级系统设置 => 环境变量 => path1
C:\Program Files\MongoDB\Server\3.4\bin
注册为服务,开机自动启动
以管理员权限启动CMD1
mongod --dbpath "C:\Program Files\MongoDB\Server\3.4\data" --logpath "C:\Program Files\MongoDB\Server\3.4\log\mongo.log" --logappend --install --serviceName "MongoDB"
搜索MongoDB服务,设置启动
测试
1 | mongo |
注销服务
1 | mongod.exe --remove --serviceName "MongoDB" |
基础命令
查看所有库
1 | show dbs |
使用库(没有则新建库)
1 | use app |
创建一条数据并查找出来
1 | db.user.save({name: "chaoshuai"}) |
更新一条数据(没有$set:{},会覆盖所有属性)
1 | db.user.update({"_id" : ObjectId("59d87fc36f962cd49948149c"},{$set:{"name": "xiaoshuai"}}) |
删除记录(条件为空不会执行)
1 | db.user.remove({name: 'xiaoshuai'}) |
删除表
1 | db.mytable.drop(); |
创建用户
1 | db.createUser({user: 'copy',pwd: '123', roles:[{role:'dbOwner',db:'myblog'}]}) |
mongoose 建模和操作数据库
连接数据库
1 | const db = 'mongodb://localhost/app' |
定义Schema(不具备操作数据库的能力)
1 | const mongoose = require('mongoose') |
Schema Types内置类型如下:
String
Number
Boolean | Bool
Array
Buffer
Date
ObjectId | Oid
Mixed
由Schema生成Model(可以对数据库的操作)
1 | const userModel = mongoose.model('User',UserSchema) |
生成新用户并保存
1 | const mongoose = require('mongoose') |