rtd is a document database built on top of boltdb/bolt and accessible through a REST API.
rtd is a side project and has not been used in production.
The database.
$ go get github.com/dmcaulay/rtd
The command line tool
$ npm install -g rtdctl
Start rtd with a data directory.
$ rtd -dir=/data/dir
rtdctl
$rtdctlrtdctl>use('blog')rtdctl>db.posts.insert({hello: 'world'})=>{hello: 'world',_id: 'dd4f6107-f77b-11e4-befe-406c8f1dca7a'}rtdctl>db.posts.find({hello: 'world'})=>{hello: 'world',_id: 'dd4f6107-f77b-11e4-befe-406c8f1dca7a'}rtdctl>db.posts.findById('dd4f6107-f77b-11e4-befe-406c8f1dca7a')=>{hello: 'world',_id: 'dd4f6107-f77b-11e4-befe-406c8f1dca7a'}rtdctl>db.posts.insert({title: 'golang is awesome',author: 'dmcaulay'})=>{title: 'golang is awesome',author: 'dmcaulay',_id: '0fae3410-f788-11e4-befe-406c8f1dca7a'}rtdctl>db.posts.find()=>[{hello: 'world',_id: 'dd4f6107-f77b-11e4-befe-406c8f1dca7a'},{title: 'golang is awesome',author: 'dmcaulay',_id: '0fae3410-f788-11e4-befe-406c8f1dca7a'}]rtdctl>db.posts.updateById('0fae3410-f788-11e4-befe-406c8f1dca7a',{title: 'golang is fun'})=>{title: 'golang is fun',author: 'dmcaulay',_id: '0fae3410-f788-11e4-befe-406c8f1dca7a'}rtdctl>db.posts.update({author: 'dmcaulay'},{title: 'update by query'})=>{title: 'golang is fun',author: 'dmcaulay',_id: '0fae3410-f788-11e4-befe-406c8f1dca7a'}