在Visual Studio Code上的操作
1.创建一个node_modules的文件夹
2.在node_modules中创建一个content.router.js,tag.router.js,user.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