mongoose
mongodb这个数据的操作肯定不止一种形式,mongoose只是其中一种
mongoose操作流程
- 安装mongoose
$ cnpm i mongoose -D
- 连接数据库
var mongoose = require( 'mongoose )
//mongoose.connect(连接地址/数据库名称)
mongoose.connect( 'mongodb://127.0.0.1:27017/students' )
- Schema定义
- 定义 Schema 原始刻版
- 定义 Model 测试纸币 可以进行数据库的操作
- 定义 Entity 真实的纸币
// 1. 定义Schema // var studentsSchema = new mongoose.Schema( options ) //options是用来定义存储数据的数据类型 var studentsSchema = new mongoose.Schema( { // 数据: 数据类型 id: Number, name: String, age: Number }) // 2. 定义模型 // var studentsModel = mongoose.model( 集合名称,骨架 ) var studentsModel = mongoose.model( 'students', studentsSchema ) // 3. 定义实体 var students = new studentsModel()
- CURD 增删改查
- 增加
- 查询
- 删除
- 修改
- MVC
- M Model 数据
- V View 视图
- C Controller 控制器( 逻辑操作 )
–> RMVC
R Router 路由
-
可选
-
作业:
- mongoose基础流程 必会
- mongoose + RMVC + DBS 模块封装 可选
- Node.js复习
- Vue.js预习
-
Node.js 项目
链接:https://pan.baidu.com/s/1k6f67UTXsheT-h34zJOOAQ
提取码:h99u
例如:
英美版: 反击
美版: 越狱 二十四小时
CURD 增删改查 的主要操作文件
```
var express = require('express');
var router = express.Router();
var mongoose =require('mongoose')
mongoose.connect('mongodb://127.0.0.1:27017/gch1902',(error) => {
if (error) throw error
console.log( '数据库连接成功')
})
//定义Schema
var studentsSchema = new mongoose.Schema({
//数据:数据类型
id:Number,
name:String,
age:Number
})
//定义模型
var studentsModel=mongoose.model('students',studentsSchema)
//定义实体
var students = new studentsModel()
//1.增加
/* students.id=88
students.name="ggcchh"
students.age=108
students.save((error)=>{
if(error) throw error
console.log('存储成功')
}) */
//2.查询
/* studentsModel.find({},(error,result)=>{
if(error) throw error
console.log(result[0]._id)
})
*/
//3.删除(通过id找到相应的数据来删除)
/* studentsModel.find({},(error,result)=>{
if(error) throw error
var id=result[0]._id
studentsModel.findById(id,(error,data)=>{
if(error)throw error
data.remove(()=>{
console.log('删除成功')
})
})
}) */
//4.修改
/* studentsModel.find({},(error,result)=>{
if(error) throw errorcon
const id =result[0]._id
studentsModel.findById(id,(error,data)=>{
if(error)throw error
data.name="1902gch"
data.save()
})
}) */
//修改第二种写法
//更新用户名
/* var conditions = {name:"tiny"};
var updates = {$set: {name: "tiny888888888"}};//将用户名更新为“tiny”
studentsModel.update(conditions, updates, function (error) {
if (error) {
console.error(error);
} else {
console.error("更新用户名成功")
}
});
//查询更新后的数据
studentsModel.findOne({name: "tiny888888888"}, function (error, doc) {
if (error) {
console.error(error)
} else {
console.error("更新后数据:", doc)
}
}); */
router.post('/',function(req,res,next){
let {username,password}=req.query
studentsModel.find({},(error,result)=>{
for(var i=0;i<result.length;i++){
if(result[i].name===username){
//用户名已经存在
res.render('mine',{
mine:JSON.stringify({
ret:true,
res:'用户名已存在'
})
})
return
}
}
// students.name=username
// students.save()
res.render('mine',{
mine:JSON.stringify({
ret:true,
res:'用户名不存在,可以注册'
})
})
})
});
//
module.exports = router;
```