Mongodb官网下载压缩版
解压到一个目录下面
然后新建一个data空文件夹
新建一个log文件
进入bin目录下 然后复制路径
系统环境变量里配置
开启mongodb服务:要管理数据库,必须先开启服务,开启服务使用mongod --dbpath F:\mongodb 后面文件脱到这里面mongo
注意:浏览器上输入localhost:27017测试是不是Mongodb服务器开启成功
这个就说明开启成功了
管理mongodb数据库:mongo (一定要在新的CMD中输入)
这样就连接到本地的数据库
show dbs
MongoDB数据集合的操作 相当于MySQL的数据库
//Collections 集合 show dbs //可以预览所有的数据表 use jiahua //进入jiahua数据库 如果没有自动创建一个 创建数据库不是表 show collections //查看有没有数据表 db.createCollection("users") //创建一个表 show collections //查看刚才那个表是否新建成功 show users.renamecollection("staff") //重命名表名 show collections db.staff.drop() //删除表 db.dropDatabase()//删除数据库 show dbs //Document文档 mongo use jiahua show collections db.createCollection("post"); db.post.insert( { title:'我的第一个博客', content:'我的博客开始写了' } ); show collections db.post.find() //查询刚才保存的数据 db.post.count()//查看有多少记录 db.post.remove({}) //删除刚刚我们建立的所有的数据使用数据库,创建数据库
use student
创建完成后你在use student的话进入student数据集合里面
插入单个数据
//student集合里插入单个数据 db.student.insert({name:'hello11',age:188888}) //查询数据库 db.student.find()插入多个数据
插入多个数据库的话 需要加个[]就是数组 db.student.insert([ {name:'dongzhou',age:7777,gander:'women'} {name:'dongzhou111',age:7777,gander:'women'} {name:'dongzhou2222',age:7777,gander:'women'} {name:'dongzhou333',age:7777,gander:'women'} ])//创建Schema(模式)对象 //Schema仅仅是数据库的约束
var zhuomaSchema = new Schema({ name:String, age:Number, gender:{ type:String, default:'female' }, address:String })//通过schema来创建Mode1 //Model代表的是数据库中的集合,通过Model才能对数据库进行操作 //mongoose.model(modelName,schema):
var ZhuomaModel = mongoose.model('zhuoma',zhuomaSchema);//这时候你还没有创建数据库
//向数据库中插入一个文档 //ZhuomaModel.create(doc,function(err){});
ZhuomaModel.create({ name:'孙悟空', age:18, gender:'male', address:'花果山' },function(err){ if (!err) { console.log('数据插入成功'); } })下载地址:https://www.mongodb.com/try/download/community
然后文件解压后放在一个目录下面 我放》文档》IT下面
启动mongodb这个程序进入到mongodb4.2.1这个目录下面注意这个下面还有两个目录 一个是新建的db 文件夹 一个是mongodb正真的数据库继续cd 到 bin目录下面输入 ./mongod --dbpath 后面放那个db的路径就启动成了验证是否成功 浏览器输入127.0.0.1:27017启动项目:
$ npm run dev $ open http://localhost:7001app/controller目录下面实现Controller
'use strict'; const Controller = require('egg').Controller; class HomeController extends Controller { async index() { const { ctx } = this; ctx.body = 'jiahuadongzosdfgdhdfu'; } } module.exports = HomeController;下载
cnpm i egg-mongoose -S
配置
config/plugin.js
module.exports = { static: { enable: true, package:'egg-mongoose' } };配置数据库
config.default.js
config.middleware = []; //这个下面配置数据库哦 config.mongoose = { url:'mongodb://127.0.0.1:27017/sdutent', options:{ useUnifiedTopology:true, useCreateIndex:true } }然后app下面新建一个model文件夹> 里面在新建一个user.js
这是配置之后第一个要做的事情
module.exports = app => { const mongoose = app.mongoose; const UserSchema = new mongoose.Schema({ //这里面就开始写数据字段 //跟Mongodb数据库的时候一样 }) return mongoose.module('User',UserSchema) } module.exports = app => { const mongoose = app.mongoose; const UserSchema = new mongoose.Schema({ UserName:{ type:String, unique:true, required:true }, password:{ type:String, required:true, }, //头像 avatar:{ type:String, default: 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1858570547,3506631316&fm=26&gp=0.jpg' }, //创建当前的时间 creataAt:{ type:'Date', default:Date.now } }) return mongoose.module('User',UserSchema) }//这是一个完整的数据库定义
然后这个model层要用service来管理
router里面填写对应的接口
router文件夹
请求数据的时候 后端经常出现这样一个错误csrf
解决方法
config.default.js
const config = exports = {}; //这个下面写几行代码就可以了 config.security = { csrf:{ enble:false } }安装地址
F:\MySQL\mysql-8.0.21-winx64目录下面新建一个文本文件
复制下面的保存的时候后缀名一定要ini 我的叫my.ANSI
# 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=F:\MySQL\mysql-8.0.21-winx64 # 设置mysql数据库的数据的存放目录 datadir=F:\MySQL\mysql-8.0.21-winx64\\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8然后进入到bin目录下面
安装数据库
输入如下命令
mysqld --initialize --console
root@localhost: YAayUTqlc4/D 后面的是我的密码待会要用到安装
mysqld -install mysql //后面的是数据库名字
出现这个说明已经成功了
net start myswl
然后登陆数据库 命令行中
mysql -u root -p然后下面显示pqssord 输入上面的密码就可以了
这样表示密码输入正确
下面如何更改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
这样表示密码修改成功
同样 新建一个命令行 管理员
进入斌bin目录下面
net stop myswl
打开Navicat Premium 客户端
点击连接 mysql 然后起一个名字 下面输入密码即可连接这样就user表就完成了
router.resources('user','/api/user',controller.user);
我们要做的是查询user表里的用户
const { Controller } = require('egg'); class UserController extends Controller { async index(){ const { ctx,service } = this; let users = await service.user.list(); ctx.body = users; } } module.exports= UserController;cnpm i egg-mysql -S
配置plugin.js
exports.mysql = { package:'egg-mysql', enable:true }配置config.default.js
userConfig.security = { csrf: false, }; userConfig.mysql = { client: { host:'localhost', port:3306, user:'root', password:123456, database:'cms' }, };