koa2 mongdb 做后端接口的小demo
现在前端全栈里面有一种技术栈比较火
前端使用 vue 或者react 后端使用 koa2 mysql数据库 或者mongdb做数据储存
但是基本这样的全栈教程 都要收费 收费就收费吧 但是 有没有遇到非常好的教程
于是 准备硬着头皮看别人项目的源码 自己摸索 一步一步完成 koa + mongdb的后端学习
下面就写一个很简单的koa + mongdb 的数据库写入
user.js //这个页面写数据库连接
var mongoose = require('mongoose')
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/m_data') //m_data是我的数据库名字 需要自己创建
mongoose.connection.once('open',()=> {
console.log("[mongoose]mongdb is start"); //监听启动
})
var userSchema = new Schema({ //建表
username: {
type: String
},
password: {
type: String
},
call: {
type: Number
},
email: {
type: String
}
})
var user = mongoose.model('User',userSchema); //返回另一个Model实例
module.exports = user //导出
data.js
let koa = require('koa')
var mongoose = require('mongoose')
let User = require('./user') //导入上一个页面的数据库模块
var bodyParser = require('koa-bodyparser'); //用于接受post请求的中间件
let app = new koa();
app.use(bodyParser());
app.use(async (ctx) => {
if (ctx.url === '/' && ctx.method == 'GET') {
//显示表单页面
let html = `
<h1>this is POST</h1>
<form action="http://localhost/" method="POST">
<p>姓名: <input type="text" name="name"></p>
<p>年龄: <input type="text" name="age"></p>
<p>电话: <input type="text" name="call"></p>
<p>邮箱: <input type="text" name="email"></p>
<input type="submit" value="提交">
</form>
`
ctx.body = html
} else if (ctx.url === '/' && ctx.method == 'POST') {
let postData = ctx.request.body;
ctx.body = postData;
console.log(postData);
User.create({
username: postData.name,
password: postData.age,
call: postData.call,
email: postData.email
},(err) => {
if(err) return
console.log('插入成功');
})
} else {
ctx.body = '<h1>404</h1>'
let data = '';
}
})
app.listen(80,()=>{
console.log('[koa] is start');
})
对于有node基础的人来说 这应该不难 稍微都能看懂 ,就是很简单的数据库写入
假如你刚刚学习koa mongdb node也不太熟练
可以看我的github上面
https://github.com/boold/Small-code/tree/master/Small demo koa mongdb
koa2 mongdb 做后端接口的小demo的更多相关文章
- 实战:一、使用mongo做一个注册的小demo
思路:1.使用mongoose 进行 数据库的链接 2.使用Schema来进行传输字段的定义 3.安装koa-router进行数据处理4.安装koa-bodyparser 进行post数据交互5.解决 ...
- 把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器
我 使用 nodejs koa2框架 制作后端接口, 现在将nodejs koa2 部署到服务器 koa2项目 实现 接口 可以看我的 这篇文章: 简单实现 nodejs koa2 mysql 增删改 ...
- 记录一次用宝塔部署微信小程序Node.js后端接口代码的详细过程
一直忙着写毕设,上一次写博客还是元旦,大半年过去了.... 后面会不断分享各种新项目的源码与技术.欢迎关注一起学习哈! 记录一次部署微信小程序Node.js后端接口代码的详细过程,使用宝塔来部署. 我 ...
- [Unity3D]做个小Demo学习Input.touches
[Unity3D]做个小Demo学习Input.touches 学不如做,下面用一个简单的Demo展示的Input.touches各项字段,有图有真相. 本项目已发布到Github,地址在(https ...
- jsoup爬虫简书首页数据做个小Demo
代码地址如下:http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固, ...
- uni-app开发的应用(小程序,app,web等),使用Node+Koa2开发的后端程序接收上传文件的方法
uni-app使用使用Node+Koa2开发的后端程序接收上传的文件 通过gitbook浏览此随笔 通过其它客户端上传(h5,小程序等),接收方法一致 使用koa接收时,我们需安装一个中间件koa-b ...
- dubbo泛化调用 小demo
前两天刚好有个同事来问是否用过 dubbo泛化 调用,不需要通过指定配置.第一次听到的时候,还是有点懵,但觉得有意思,可以学点东西. 立马百度了,找了demo,这篇比较容易上手(http://www. ...
- Nancy之基于Nancy.Owin的小Demo
前面做了基于Nancy.Hosting.Aspnet和Nancy.Hosting.Self的小Demo 今天我们来做个基于Nancy.Owin的小Demo 开始之前我们来说说什么是Owin和Katan ...
- Win10 FaceAPI小demo开发问题汇总
Win10 FaceAPI小demo开发问题汇总 最近使用微软牛津计划做一个小demo,使用FaceAPI做一个小应用,实现刷脸的功能.开发的过程中用到几个问题,具体如下: Stream 与IRand ...
随机推荐
- Internet Of Things
- Windows平台字符串完全指南
The Complete Guide to C++ Strings : The Complete Guide to C++ Strings, Part I - Win32 Character Enco ...
- PrintDocument打印、预览、打印机设置和打印属性的方法(较完整) .
private void Form1_Load(object sender, System.EventArgs e) { //获取或设置一个值,该值指示是否发送到文件或端口 printDocument ...
- Java反射创建带构造参数的类 并执行方法
部分代码 public void go(ServletRequest request,ServletResponse response){ String methodName = "inde ...
- April 1 2017 Week 13 Saturday
There is more to life than increasing its speed. 生活不仅仅是匆匆赶路. Get a life, a real life, not a manic pu ...
- 如何在SAP CRM里创建和消费Web service
Created by Wang, Jerry, last modified on Dec 19, 2014 The following steps demonstrates how to expose ...
- C语言 字符串的声明与使用
// 字符串的定义和初始化 void test() { // "mj" char s[] = {'m', 'j', '\0'}; // 字符串"mj" ] = ...
- vue.js--基础事件定义,获取数据,执行方法传值
<template> <div id="app"> <h1>{{ msg }}</h1> <br> <button ...
- android 中组件继承关系图,一目了然
View继承关系图 Adapter适配器继承关系图 Activity继承关系图
- 树的直径的求法即相关证明【树形DP || DFS】
学习大佬:树的直径求法及证明 树的直径 定义: 一棵树的直径就是这棵树上存在的最长路径. 给定一棵树,树中每条边都有一个权值,树中两点之间的距离定义为连接两点的路径边权之和.树中最远的两个节点之间的距 ...