Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/minhajuddin/nginx-mongodb-rest

A mongodb rest client written as an Nginx module
https://github.com/minhajuddin/nginx-mongodb-rest

Last synced: about 2 months ago
JSON representation

A mongodb rest client written as an Nginx module

Awesome Lists containing this project

README

        

nginx-mongodb-rest
=========
An nginx module which works as a mongodb readonly rest client.

Dependencies
============
**nginx-mongodb-rest** requires the mongo-c-driver which is a submodule of this
repository. To checkout the submodule run

$ git submodule init
$ git submodule update

Installation
============
Installing Nginx modules requires rebuilding Nginx from source:

- Grab the [Nginx source](http://nginx.net/) and unpack it.
- Clone this repository somewhere on your machine `git clone git://github.com/minhajuddin/nginx-mongodb-rest.git`.
- Check out the required submodule, as described above.
- Change to the directory containing the Nginx source.
- Now build:

$ ./configure --add-module=/path/to/nginx-gridfs/source/
$ make
$ make install

Configuration
=============

location / {
mongodb_rest "database_name" "collection_name";
}

#example config
location / {
mongodb_rest "khalid_dev" "products";
}

The above example configuration exposes the *products* collection in the
*khalid_dev* database. If the server is running on your `localhost` the command
`curl -i http://localhost/12` will give you the following output:

HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Wed, 23 Feb 2011 23:23:11 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive

{"_id" : "12" , "name": "funky widgets"}

Known Issues / TODO / Things You Should Hack On
===============================================
- allow passing *collection name* through the url
- allow *ids* of different types e.g. *bson_oid*, *int* ..
- allow *scriptable* collection names

Authors
=======
Khaja Minhajuddin ([email protected]), Nagaraju BVS ([email protected])

Credits
=======
- [nginx-gridfs](https://github.com/mdirolf/nginx-gridfs.git) was the "inspiration" for this project.

License
=======
**nginx-mongodb-rest** is licensed under the Apache License, Version 2.0. See *LICENSE* for more details.