Skip to content

StefanSchwartze/koa-mongo-rest

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a fork from Koa-mongo-rest (licensed with BSD-2-Clause) by @t3chnoboy and updated with the code from @tomaash, which can be found at https://github.com/tomaash/react-example-filmdb/tree/master/server/restable (licensed with MIT and BSD-2-Clause)

Koa mongo REST NPM version Dependency Status Build Status

Easy REST api for koa server

NPM

Installation

Install using npm:

npm install koa-mongo-rest

Usage

Require library

generateApi = require('koa-mongo-rest');

Create mongoose model

mongoUrl = '127.0.0.1:27017';
mongoose = require('mongoose');
mongoose.connect(mongoUrl);

schema = new mongoose.Schema({
  email: String,
  name: String,
  password: String,
  address: String,
  zipcode: Number,
  lists: Array
});

model = mongoose.model('users', schema);

Create server

var koa = require('koa');
var router = require('koa-router');

var app = koa();

//router is required
app.use(router(app));


//add REST routes to your app. Prefix is optional
generateApi(app, 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.

About

🍃 Rest API generation for Koa

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 57.3%
  • CoffeeScript 37.0%
  • Makefile 5.7%