首页 > 技术文章 > 模块的创建和添加,查找

d-hx 2021-11-29 19:24 原文

Visual Studio Code上的操作

1.创建一个node_modules的文件夹
2.在node_modules中创建一个content.router.jstag.router.jsuser.router.js的js文件(模块)

 

 

 

创建模块

终端

nodemon app.js   启动app.js

npm install mongoose --save 安装moogoose

content.router.js,tag.router.js,user.router.js文件中分别写:

//模块导出
module.exports=function(router){
    router.get("/content",async (ctx)=>{ //处理操作
        ctx.body="content";
    })
}
module.exports=function(router){
    router.get("/user",async ctx=>{
        ctx.body="user";
    })
}
module.exports=function(router){
    router.get("/tag",async ctx=>{
        ctx.body="tag";
    })
}


//导入模块add.js中)

//导入模块
const tagRouter=require("./routers/tag.router");
const userRouter=require("./routers/user.router");
const contentRouter=require("./routers/content.router");

//使用函数add.js中)

//使用函数
  const Router=require('koa-router');
  const router=new Router();//创建路由,支持传递参数
tagRouter(router);
userRouter(router);
contentRouter(router);

mongodb.js中写:

//导入mongoose
const mongoose = require("mongoose");
//建立数据库连接
mongoose.connect("mongodb://127.0.0.1:27017/test");

const tagSchema = new mongoose.Schema({
    // text:String,
    text: {
        type: String,
        minlength: 2,//最小长度
        maxlength: 12//最大长度
    }
});
const tagModel = new mongoose.model("tag", tagSchema);
// 用tagModel进行增删改查

module.exports = tagModel;

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

 

tag.router.js添加和删除

//添加 删除
//导入
const tagModel = require("../mongodb");
//导出
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);
        // });

        // 用tagModel进行增删改查
        //tagModel.find({}); 查找所有
        const data=await tagModel.find({});//await 等待

        ctx.body = {
            status: 200,  //成功
            data: data, 
            msg: ""  //错误信息
        }
    })
    router.post("/tag",async ctx=>{
        await tagModel.create(ctx.request.body);
        ctx.body = {
            status: 200,  //成功
            data: null,
            msg: ""  //错误信息
        }
    })
}
/*
    json对象
    {
        status:200,  成功
        data:{},
        msg:""  错误信息
    }
*/

 

用post方法添加张三

POST http://localhost:4000/tag
Content-Type: application/json
//参数解析
//首先明确一点,这也是一种文本类型(和text/json一样),表示json格式的字符串,如果ajax中设置为该类型,则发送的json对象必须要使用JSON.stringify进行序列化成字符串才能和设定的这个类型匹配。

# 上面和下面必须得空一行
# content
# 表单方式 id=1000&name=张三
# 必须用双引号
{
    "text":"张三"
}

总结今日错误:

1.

 

 

 如果点击Send Request ,出现

 

 

可以在终端再运行一次 nodemon app.js

2.

 

这里的test是区分大小写的,和下面的test保持一致,插入数据后,会自动生成tags

 

 

推荐阅读