node-mongres
v0.1.2
Published
REST API server/library for MongoDB
Downloads
1
Maintainers
Readme
node-mongres
REST API server/library for MongoDB
Description
The project was originally written to provide a flattened table view of MongoDB documents. Then more and more features were added on both UI and api side, ...
It contains:
- a REST server for MongoDB (bin/mongres)
- the GUI (www/*)
- and a pluggable restful API library for any Express based http server (lib/*)
Install
npm install node-mongres
Run
- start REST server:
node_modules/.bin/mongres [port]
- port=8765 is used by default if nothing is given at [port]
- Try with curl
curl http://127.0.0.1/api/conn
Full API
Connection
GET /conn
- all connected MongoDBsPOST /conn
- connect to new MongoDB (POST connection params in body, {host: ..., port: ...})DELETE /conn/:connId
- disconnectGET /conn/:connId/buildInfo
- buildInfo of MongoDB from specified connectionGET /conn/:connId/serverStatus
- serverStatus for specified MongoDBGET /conn/:connId/replSetGetStatus
- replSetGetStatus (if replSet is configured)Database
GET /conn/:connId/db
- list all databasesPOST /conn/:connId/db
- create new database (POST database name in body, {name: ...})DELETE /conn/:connId/db/:dbId
- remove databaseGET /conn/:connId/db/:dbId
- get database statsCollection
GET /conn/:connId/db/:dbId/col
- list all collectionsPOST /conn/:connId/db/:dbId/col
- create new collection (POST collection name in body, {name: ...})DELETE /conn/:connId/db/:dbId/col/:colId
- remove collectionGET /conn/:connId/db/:dbId/col/:colId
- get collection statsDocument
GET /conn/:connId/db/:dbId/col/:colId/doc?query=$QUERY&options=$OPTION
- list documentssee http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#find for more usage about query and option
query - use query to return a filtered result.
query={"name":"aaa"}
query={"type":"A", "name":/^test/}
(support regex)
option - specify sorting, ... etc.
option={"sort":{"a":1}}
POST /conn/:connId/db/:dbId/col/:colId/doc
- create new document (POST document contents in body)DELETE /conn/:connId/db/:dbId/col/:colId/doc
- remove multiple documents (POST document._id in an array in body, [_id, _id, ...])POST /conn/:connId/db/:dbId/col/:colId/doc/:docId
- update document (POST contents in body)partially update, not replacing with the whole POST data
GET /conn/:connId/db/:dbId/col/:colId/doc/:docId
- get a single documentDELETE /conn/:connId/db/:dbId/col/:colId/doc/:docId
- delete a single document
Advanced
Path name of API is customizable
see examples
folder.
API is pluggable
API can be plugged into any Express based server at any path.
see examples
folder.