Navigation Menu

Skip to content

jsmarkus/colibri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Colibri MongoDB/Express CRUD framework

Use colibri if you need to create RESTful backend to you mongodb collections in quick and easy way.

Let's write a backend for well-known ToDo application (see example/todo)

express = require 'express'
mongoose = require 'mongoose'
colibri = require 'colibri'

app = express.createServer()

app.use express.bodyParser()
app.use express.static "#{__dirname}/static"

#mongoose-related stuff: Schema and Model

mongoose.connect 'mongodb://localhost/colibriTodo'

TodoSchema = new mongoose.Schema
  title : String
  order : Number
  done  : type:Boolean, default:no

TodoModel = mongoose.model 'todo', TodoSchema

#And now - the magic!

# - create REST backend

resource = colibri.createResource
  model       : TodoModel
  plainOutput : yes

# - bind our rest backend to app

resource.express app

#Listen

app.listen 3000

colibri adds the following routes automatically to your Express app:

  • GET /todo - get a list of items
  • POST /todo - create new item
  • GET /todo/:id - get an item with corresponding _id
  • PUT /todo/:id - save an item with corresponding _id
  • DELETE /todo/:id - delete an item with corresponding _id

We have a todo-server ready to use with - for example - Backbone.