模块的创建和添加查找

1:创建routers文件夹

2:创建content.router.js  tag.router.js  user.router.js三个js文件

 

nodemon app.js   启动app.js

npm install mongoose --save 安装moogoose

 3:在三个js文件中写

//用户路由
//module.exports导出
module.exports=function(router){
router.get("/user",async ctx=>{
    ctx.body="user";
})
}

module.exports=function(router){
    //async ctx=>{} 处理函数 处理大括号内容
    //  /content url地址
    router.get("/content",async ctx=>{
        ctx.body="content";
    })
}

module.exports=function(router){
    router.get("/tag",async ctx=>{
        ctx.body="tag";
    })
}

4:引入

const tagRouter=require("./routers/tag.router");
const userRouter=require("./routers/user.router");
const contentRouter=require("./routers/content.router");
5:创建路由
const router=new Router();//创建路由,支持传递参数==实例化
tagRouter(router);
userRouter(router);
contentRouter(router);
6:创建mongodb.js
//1导入 安装mongoose
const mongoose = require("mongoose");
//2建立数据库连接
mongoose.connect("mongodb://127.0.0.1:27017/test");

//Schema模型
//3创建模型 对数据约束
const tagSchema=new mongoose.Schema({
    //text:String //String类型
    text:{
        type:String, //类型
        minlength: 2, //最小
        maxlength: 12 //最大
    }
});
//4用tagModel进行增删改查
const tagModel=new mongoose.model("tag",tagSchema);

//5导出
module.exports=tagModel;
//? module.exports=userModel;

7:在tag.router中引入mongodb.js 添加和删除

//添加 删除
//用户路由

//6引入mongodb.js
const tagModel = require("../mongodb");

//module.exports导出
module.exports = function (router) {
    router.get("/tag", async (ctx) => {

        // const arr = [{ text: "HTML" }, { text: "SQL" }, { text: "NodeJS" }]
        // tagModel.insertMany(arr, function (err, docs) {
        //     console.log(err);
        //     console.log(docs);
        // });

        const data=await tagModel.find({});//查找全部 await 等待tagModel.find({})执行成功

        ctx.body = {
            status: 200,
            //json对象
            data:data,
            msg: ""
        }
    })
    router.post("/tag",async ctx=>{
     await tagModel.create(ctx.request.body);

     ctx.body = {
        status: 200,
        data:null,
        msg: ""
    }
    })
}
post添加
    router.post("/tag",async ctx=>{
     await tagModel.create(ctx.request.body);

     ctx.body = {
        status: 200,
        data:null,
        msg: ""
    }
    })
POST http://localhost:3000/tag
Content-Type: application/json 
# POST Content 两行之间不能加空格
# 这也是一种文本类型(和text/json一样),表示json格式的字符串,
# 如果ajax中设置为该类型,则发送的json对象必须要使用JSON.stringify进行序列化成字符串才能和设定的这个类型匹配。

# content
#Content-Type和{}中间必须空一行
#必须加双引号

{
   "text":"张三"
}

 

posted @ 2021-11-29 21:00  熊熊日记  阅读(47)  评论(0)    收藏  举报