mongodb (大地老师)

it2024-01-07  63

mongodb (大地老师)

win系统下的安装

Mongodb官网下载压缩版

解压到一个目录下面

然后新建一个data空文件夹

新建一个log文件

进入bin目录下 然后复制路径

系统环境变量里配置

一,数据库使用

开启mongodb服务:要管理数据库,必须先开启服务,开启服务使用mongod --dbpath F:\mongodb 后面文件脱到这里面mongo

注意:浏览器上输入localhost:27017测试是不是Mongodb服务器开启成功

这个就说明开启成功了

管理mongodb数据库:mongo (一定要在新的CMD中输入)

这样就连接到本地的数据库

查看你所有的数据库

show dbs

二,创建数据库

mongodb

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'} ])

查询文档

db.collection.find() - find()用来查询集合中所有的符合条件的文档 -find()可以接受一个对象作为条件参数

修改文档

db.collection.update(查询条件,新对象) db.student.update({name:'jiahua'},{age:28});

删除文档

mongoose

1.下载安装

新建一个目录下面 npm inti --yes cnpm install mongoose --save

2.连接数据库

3、在项目中引入mongoose const mongoose = require('mongoose'); 4, 连接MongoDB数据库 mongoose.connect('mongodb://数据库的IP地址:端口号/数据库名') -如果端口号是默认端口号(27017)刺可以省路不写 -监听MongoDB数据库的连接状态 -在mongoose对象中,有一个属性叫做connection,该对象表示的就是数据库连接 通过监视读对象的状态,可以来监听数摇库的连接与断开 下面是查看是否链接成功 达不是必须写的 数据库连接成功额事件 mongoose.connction.once('open',function(){}) 数据库断开的事件 mongoose.connction.once('close',function(){}) var mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1/student',{useMongoClient:true}); mongoose.connection.once('open',function(){ console.log('OK'); });

3.操作数据库

//将mongoose.Schema赋值给一个对象 var Schema = mongoose.Schema;

//创建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('数据插入成功'); } })

4.model使用方法

有了Model,我们就可以来对数据库进行曾删改查的操作了

1.插入数据

ZhuomaModel.create([ { name:'嘉华哦对那个自己哦', age:787, address:'藏族', }, { name:'攒足让你卡', age:8787878, gender:'male', address:'西藏' }],function(err){ if (!err) { console.log('插入车功能额'); } })

2.查询数据

ZhuomaModel.find({name:'孙悟空'},function(err,docs){ if (!err) { console.log(docs) } })

3.修改数据

ZhuomaModel.updateOne({name:'孙悟空'},{ $set:{age:88888}},function(err){ if (!err) { console.log('cehgngogn') } })

4.删除文档

ZhuomaModel.remove({name:'孙悟空'},function(err){ if (!err) { console.log('removeOK'); } });

5.Document使用方法

Mac i MongoDB

下载地址:https://www.mongodb.com/try/download/community

然后文件解压后放在一个目录下面 我放》文档》IT下面

启动mongodb这个程序进入到mongodb4.2.1这个目录下面注意这个下面还有两个目录 一个是新建的db 文件夹 一个是mongodb正真的数据库继续cd 到 bin目录下面输入 ./mongod --dbpath 后面放那个db的路径就启动成了验证是否成功 浏览器输入127.0.0.1:27017

egg.js

1、安装egg.js

$ mkdir egg-example && cd egg-example $ npm init egg --type=simple // 这里就可以一直按y 就可以了 $ npm i //我在F盘根目录下面新建一个eggDome的文件 //然后cd 到eggDome

启动项目:

$ npm run dev $ open http://localhost:7001

2、路由和控制器

2、我们要最关心的两个文件

一般配置都要放在config下面比如说插件那些配置然后一些默认的配置在这里面配置

什么是MVC

控制器(controller)

app/controller目录下面实现Controller

'use strict'; const Controller = require('egg').Controller; class HomeController extends Controller { async index() { const { ctx } = this; ctx.body = 'jiahuadongzosdfgdhdfu'; } } module.exports = HomeController;

服务(service)

使用插件egg-mongoose连接数据库

下载

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文件夹

创建router

router.post('/api/user',controller.user.create)

创建controller 下面user.js方法

请求数据的时候 后端经常出现这样一个错误csrf

解决方法

config.default.js

const config = exports = {}; //这个下面写几行代码就可以了 config.security = { csrf:{ enble:false } }

MySQL安装

安装地址

2、解压到一个文件夹

2、配置

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

2.1 配置系统变量

2.2 命令行必须要管理员身份进行运行

然后进入到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';

这样表示密码修改成功

4.如何关闭服务器

同样 新建一个命令行 管理员

进入斌bin目录下面

net stop myswl

MyQSL 数据库连接客户端

打开Navicat Premium 客户端

点击连接 mysql 然后起一个名字 下面输入密码即可连接

1.建表

这样就user表就完成了

1、第一步:定义路由

​ router.resources('user','/api/user',controller.user);

2、第二步: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;

3、第三步:创建service

const { Service } = require('egg'); class UserService extends Service { async list() { const result = await this.app.mysql.select('user'); return result; } } module.exports = UserService;

安装egg-mysql

cnpm i egg-mysql -S

1.安装好egg-mysql后

配置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' }, };

egg.js安装方法

cnpm i egg-init -g

最新回复(0)