博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kora 简单使用实现Api接口 以及mongodb简单使用
阅读量:5244 次
发布时间:2019-06-14

本文共 2146 字,大约阅读时间需要 7 分钟。

//api.js const Koa = require('koa');const router = require('koa-router')();  //路由const bodyParser = require('koa-bodyparser'); //解析原始request请求const fs  = require('fs');  //文件读取const cors = require('koa2-cors'); //设置cors头const app = new Koa;/** * 数据库连接 */var mongoose = require('mongoose');mongoose.connect('mongodb://localhost:27017/admin', {'useNewUrlParser': true});var db = mongoose.connection;db.on('error', console.error.bind(console, 'connection error:'));db.once('open', function() {    console.log('数据库连接成功')    /**      * Schema 用来定义存储在document 中的属性,并且赋予他们校验的规则,和默认值    */    var kittySchema = new mongoose.Schema({        name: String      });      kittySchema.methods.speak = function () {        var greeting = this.name          ? "Meow name is " + this.name          : "I don't have a name";        console.log(greeting);      }      /**         * 定义模型        */      var Kitten = mongoose.model('Kitten', kittySchema);      /**         * 模型实例        */      var silence = new Kitten({ name: 'Silence' });      console.log(silence.name); // 'Silence'      silence.save();  //插库      var fluffy = new Kitten({ name: 'fluffy' });      fluffy.save(function (err, fluffy) {        if (err) return console.error(err);        fluffy.speak();      });});app.use(bodyParser()); app.use(cors({    origin: function (ctx) {        return '*';     }}));let files = fs.readdirSync(__dirname + '/controllers');let js_files = files.filter((f)=>{    return f.endsWith('.js');});for( let f of js_files ){    console.log(`process conteoller : ${f} ...`);    let mapping  = require(__dirname + '/controllers/' + f );        for ( let url in mapping ){        if( url.startsWith('GET ')){            //如果url类似'GET xxx'            let path = url.substring(4);            router.get(path,mapping[url]);        }else if( url.startsWith('POST ') ){            //如果url类似'POST xxx'            let path = url.substring(5);            console.log('请求方式是:',path);            router.post(path,mapping[url]);        }    }}app.use(router.routes());app.listen(8888);console.log('app started at port 8888...');

 

转载于:https://www.cnblogs.com/cuikaitong/p/10615393.html

你可能感兴趣的文章
页面加载后自动刷新一次
查看>>
动态代理连接数据库
查看>>
List、Map、Set三个接口,存取元素时,各有什么特点?
查看>>
常用操作系统扫描工具介绍
查看>>
JQuery和Ajax在ASP.NET MVC中的基本应用
查看>>
Notes on <High Performance MySQL> -- Ch7: Operating System and Hardware Optimization
查看>>
程序员可能会遇到的一些名词
查看>>
day 3 局部变量 全局变量
查看>>
day 3 私有属性,私有方法,__del__
查看>>
8 [面向对象]-反射
查看>>
洛谷p2216 多次单调队列,扫描矩阵中的最大值减去最小值最的固定大小子矩阵...
查看>>
随机删除数据库N条记录
查看>>
写python获取android设备的GPS及姿态信息
查看>>
[转]Kademlia详解
查看>>
eclipse中debug改变变量的值
查看>>
ios系统 竖屏拍照 canvas处理后 图片旋转(利用exif.js解决ios手机上传竖拍照片旋转90度问题)...
查看>>
CSS的一些理解
查看>>
内部类
查看>>
boost使用笔记
查看>>
Listener介绍
查看>>