Colibri makes it easy to create REST resources serving MongoDB collections

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:Booleandefault: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 app
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.