一、在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. Oracle函数NULLIF

    1.NULLIF函数 函数语法:NULLIF(Expression1,Expression2) 函数功能:如果来个表达式相等,则返回NULL值,否则返回第一个表达式 功能很简单,但是要注意以下几种情况 ...

  2. 【C和指针】6.指针

    1.指针变量的内容 int a=112, b=-1; float c=3.14; int *d=&a; int *e=&c; (1) 变量d和e被声明为指针,并用其他变量的地址予以初始 ...

  3. Flutter配置签名打包全流程填坑笔记

    1.配置包名和版本 找到android-app-src-build.gradle文件在defaultConfig{...}中配置好版本号以及包名 2.生成key 将keytool路径添加进环境变量,c ...

  4. Centos7 安装Mysql8 主从数据库

    前提条件 准备了两台虚拟机 mysql-master 192.168.30.199, mysql-slave 192.168.30.198 1:官网下载并安装Mysql8 1:安装mysql 1.1: ...

  5. php 滑动图片验证生成

    1.话不多说,直接干货,喜欢的希望大家一键三连 <?php namespace App\Model; class VerifyImage { //浮层坐标数组 protected $tailor ...

  6. 区分CommonJs/ES6 Module/AMD/CMD

    模块加载方式 CommonJs ES6 Module AMD CMD UMD Commonjs和ES6 Module的区别 总结 1.CommonJS CommonJS 是一个项目,其目标是为 Jav ...

  7. RabbitMQ学习第七章:消息确认机制之事务机制

    RabbitMQ消息确认机制之事务机制. RabbitMQ中,我们可以通过持久化数据 解决RabbitMQ服务器异常 的数据丢失问题. 问题:生产者将消息发送出去,消息到底有没有到达RabbitMQ服 ...

  8. MySQL skip_name_resolve参数的设置

    Skip_name_resolve Dynamic No Default Value OFF 默认值是off,也就是在检查客户端连接时在第一次要解析主机名(如果有开启DNS服务器,则做 " ...

  9. 2019-2020-1 20199318《Linux内核原理与分析》第十一周作业

    <Linux内核原理与分析> 第十一周作业 一.预备知识 什么是ShellShock? Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全 ...

  10. 用Python把PDF文件转换成Word文档

    首先,下载所需要的库 1 :pdfminer   安装库命令: pip install pdfminer3k 2:  docx     安装库命令: pip install python_docx 开 ...