一、在mong0db.js中写如下代码

1.导入
const mongoose = require("mongoose");
// 建立数据库连接
mongoose.connect("mongodb://127.0.0.1:27017/text");
// 创建模型
const tagSchema = new mongoose.Schema({
    // text:String,
    text:{
        type:String,
        minlenght:2,
        maxlenght:12
    }
})
const contentSchema = new mongoose.Schema({
    // text:String,
    title:{
        type:String,
        minlenght:6,
        maxlenght:12
    },
    content:{
        type:String,
        minlenght:10,
        maxlenght:50
    },
    top:{
        type:Boolean
    }
})
const uSerSchema = new mongoose.Schema({
    // text:String,
    name:{
        type:String,
        minlenght:2,
        maxlenght:12
    },
    password:{
        type:String,
        minlenght:6,
        maxlenght:8
    },
    email:{
        type:String,
        minlenght:10,
        maxlenght:20
    },
    namegrop:{
        type:String
    }
})
// 生成model,实现增删改查
const tagModel = new mongoose.model("tag",tagSchema);
const contentModel = new mongoose.model("content",contentSchema);
const uSerModel = new mongoose.model("uSer",uSerSchema);

// 导出
module.exports ={tagModel,contentModel,uSerModel};
 
二、在tag.router.js中写
// 添加 删除
const {tagModel} = require("../mong0db");
// 导入
const {success,fail} = require("../toast");
/**
 *  get    ctx.query
 *  post   ctx.requery.body
 *  delete ctx.requery.body
 * put     ctx.query        ctx.requery
 */
// 需要通过module.exports 导出
module.exports = function (router){
  // 查询
    router.get("/tag",async (ctx)=>{
     try{
       const data =await tagModel.find({});
       return success(ctx,data);
     }catch(error){
       return fail(ctx,error);
     }
     
    /* 标准的JSON数据
    1.{
      status:200,
      data:[
            {id:1,text:"html"},
            {id:2,text:"sql"}
           ],
      mag:""
      }*/
    })
// 添加
    router.post("/tag",async ctx=>{
      try{
        const data =await tagModel.create(ctx.request.body);
        return success(ctx,data);
      }catch(error){
        return fail(ctx,error);
      }
    })
// 删除
    router.delete("/tag",async ctx=>{
      try{
        const data =await tagModel.deleteOne(ctx.request.body);
        return success(ctx,data);
      }catch(error){
        return fail(ctx,error);
      }
    })
}

三、通过text.http显示
### 查询
GET http://localhost:8000/tag

### 添加
POST http://localhost:8000/tag
Content-Type: application/json

#content
//表单方式
# id=1000&name="张三"
{
    "text":"6234"
}
### 删除
DELETE http://localhost:8000/tag
Content-Type: application/json

{
    "_id":"61a5cbbbe4946b0d5fc6aca5"
}
 
注:
需要通过toast.js中引用后才能实现
posted on 2021-11-30 20:59  于凡芮  阅读(129)  评论(0编辑  收藏  举报