V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
luoyjx
V2EX  ›  Node.js

koa-rest-mongoose, koa 1.x

  •  
  •   luoyjx · 2016-08-31 14:58:09 +08:00 · 2218 次点击
    这是一个创建于 2793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    why

    期初我就是想找个能根据 model 生成 api 的库,找到了个叫 koa-mongo-rest 的,貌似很久没维护了,现在 koa-router 的版本低了,所以我照着他搞了一个。 如果你们需要的话。

    koa-rest-mongoose

    NPM version Dependency Status Build Status

    mongoose rest generator for koa

    NPM

    安装

    Install using npm: npm install koa-rest-mongoose

    示例

    var koa = require('koa');
    var router = require('koa-router')();
    
    var koaRestMongoose = require('koa-rest-mongoose');
    
    var mongoUrl = '127.0.0.1:27017/koa_rest_mongoose';
    var mongoose = require('mongoose');
    mongoose.connect(mongoUrl);
    
    var schema = new mongoose.Schema({
      email: String,
      name: String,
      password: String,
      address: String,
      zipcode: Number,
      lists: Array
    });
    
    var model = mongoose.model('user', schema);
    
    var app = koa();
    
    koaRestMongoose(app, router, model, '/api');
    
    app.listen(process.env.PORT || 5000);
    

    Following REST API is now created for you:

    | HTTP Verb | /users | /users/:id | | ------------- | ------------- | --------------- | | GET | Get all documents, or documents that match the query.
    You can use [mongoose find conditions] ( http://mongoosejs.com/docs/queries.html), limit, skip and sort.
    For example:
    /api/users?conditions={"name":"john"}&limit=10&skip=1&sort=-zipcode | Get the addressed document. | | POST | Create a new document and send it back. | Update the addressed document with specified attributes. | | PUT | Create a new document and send it back. | Replace the addressed document. | | DELETE | n/a | Delete the addressed document. | | PATCH | n/a | Update the addressed document with specified attributes. |

    测试

    npm test

    推荐

    sequelize

    最后

    欢迎 issues 或者 pr :)

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3856 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:06 · PVG 13:06 · LAX 22:06 · JFK 01:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.