一、在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中引用后才能实现

nodejs实现页面的增删查的更多相关文章

  1. 用nodejs和js写增删查模块

    文件目录如下:public是静态资源文件,index.html入门页面,server.js就是用nodejs创建的服务端代码,users.json就类似是数据库. 目录 显示界面 listUsers ...

  2. ASP.NET动态的网页增删查改

    动态页面的增删查改,不多说了,直接上代码 跟前面的一般处理程序一样我上用的同一套三层,只是UI层的东西不一样,在纠结着要不要重新在上一次以前上过的代码: 纠结来纠结去,最后我觉得还上上吧,毕竟不上为我 ...

  3. nodejs连接mysql并进行简单的增删查改

    最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...

  4. ElementUI嵌套页面及关联增删查改实现

    @ 目录 前言 一.ElementUI如何在原有页面添加另外一个页面并实现关联增删查改? 二.实现步骤 1.ElementUI代码 2.思路:很简单 1.1 首先通过el-row.el-col.el- ...

  5. backbonejs mvc框架的增删查改实例

    一:开发环境 coffeescript和nodejs需要先安装,没装网上自己查安装步骤. 代码编写环境及esp框架下载: esp框架下载地址:https://github.com/nonocast/e ...

  6. 一套手写ajax加一般处理程序的增删查改

    倾述下感受:8天16次驳回.这个惨不忍睹. 好了不说了,说多了都是泪. 直接上代码 : 这个里面的字段我是用动软生成的,感觉自己手写哪些字段太浪费时间了,说多了都是泪 ajax.model层的代码: ...

  7. TP框架 增删查

    TP框架添加数据到数据库1.使用数组方式添加造模型对象 2.使用AR方式 强类型语言存在的方式 3.使用自动收集表单添加 :只能用POST方式,提交数据一个操作方法实现两个逻辑:A显示页面B得到数据 ...

  8. Java代码实现 增删查 + 分页——实习第四天

    今天项目内容已经开始了,并且已经完成好多基本操作,今天就开始总结今天学习到的内容,和我遇到的问题,以及分析这其中的原因. 内容模块: 1:Java代码实现对数据库的增删查: 2:分页且获取页面信息: ...

  9. 极极极极极简的的增删查改(CRUD)解决方案

    去年这个时候写过一篇全自动数据表格的文章http://www.cnblogs.com/liuyh/p/5747331.html.文章对自己写的一个js组件做了个概述,很多人把它当作了一款功能相似的纯前 ...

  10. SSH框架的多表查询和增删查改 (方法一)上

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>  http://www.cnblogs.com/zhu520/p/7772823.html   因为最近在做Android 练习的 ...

随机推荐

  1. 戴尔n4110在win7下无法使用virtualbox的解决方法(应该对win7都有用)

    正文 因为已经学了一段时间的汇编了嘛,想着就拿单独一台机器出来学汇编好了,刚好趁着天气降温回学校拿被子的机会把笔记本也拿出来了,然后我装上了virtual box,把编译好的文件写到虚拟盘中,打开就直 ...

  2. 使用Tablayout出现标题消失的原因:setupWithViewPager()的大坑

    TabLayout使用addTab方法添加标题,调用setupWithViewPager方法绑定ViewPager tabLayout.addTab(tabLayout.newTab().setTex ...

  3. VMware Fusion Pro 13.0.0 最新序列号【转】

    Fusion简介 VMware Fusion是最好的Windows-to-Mac解决方案,是任何平台上最强大的应用开发和测试工具. Fusion 13支持macOS 13.0,为开发者.IT管理员和普 ...

  4. laravel常用集合的使用

    创建集合: //数组1 $connection = collect([ ['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'], [ ...

  5. TODO留学小程序,展开,收起失效

    text设置user-select=true后,display: -webkit-box 失效? https://developers.weixin.qq.com/community/develop/ ...

  6. SQL Server 机器学习服务-概述与实战(转)

    原帖地址:https://d-bi.gitee.io/sqlserver-ml-services/ 新年第一篇,去旧迎新.本文内容,既旧也新.旧之处在于,SQL Server 机器学习服务是微软在SQ ...

  7. 自我察觉 vs 自我意识

    自我察觉,知道并理解自己的意图,能够知晓自己干什么 自我意识,评估并修正自己的意图,能够自主选择干什么

  8. linux查看指定时间段日志

    1.查看时间段日志:sed -n '/起始时间/,/结束时间/p' 日志文件 sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out2.指定 ...

  9. ApacheBench(压力测试)

    1.post请求 (post.txt body信息) ab -c2000 -n50 -p post.txt -T "application/json"  url 2.get 请求 ...

  10. 暑假学习四 8.26 Hadoop的简单使用

    先说今日情况,本来打算返校结果回不去,然后身体差发烧了,就随便学了一些东西,阑尾炎还是好疼. 有一说一,我觉得我的电脑真的有点拉啊,三台虚拟机开启之后,运存直接90%,呜呜响,和我本人情况一样,麻了 ...