benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ echo '{ "_id":"978-0-596-15589-6", "title":"CouchDB: The Definitive Guide", "subtitle":"Time to Relax", "authors":[ "J. Chris Anderson", "Jan Lehnardt", "Noah Slater" ], "publisher":"OReilly Media", "released":"2010-01-19", "pages":272}' | prettify_json.rb { "_id": "978-0-596-15589-6", "title": "CouchDB: The Definitive Guide", "subtitle": "Time to Relax", "authors": [ "J. Chris Anderson", "Jan Lehnardt", "Noah Slater" ], "publisher": "OReilly Media", "released": "2010-01-19", "pages": 272 } benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X PUT http://ben:ben1@127.0.0.1:5984/books {"ok":true} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X GET http://localhost:5984/books/_all_docs {"total_rows":1,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"978-0-596-15589-6","value":{"rev":"1-d61bd908a5bf3299c58468cdbb900e77"}} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X GET http://localhost:5984/books/_all_docs | prettify_json.rb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 147 0 147 0 0 13815 0 --:--:-- --:--:-- --:--:-- 24500 { "total_rows": 1, "offset": 0, "rows": [ { "id": "978-0-596-15589-6", "key": "978-0-596-15589-6", "value": { "rev": "4-32b87eccec6185a700b30cdea56f14dd" } } ] } benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X PUT http://localhost:5984/books/978-0-596-52926-0 -d \ > "{ > \"_id\":\"978-0-596-52926-0\", > \"title\":\"RESTful Web Services\", > \"subtitle\":\"Web services for the real world\", > \"authors\":[ > \"Leonard Richardson\", > \"Sam Ruby\" > ], > \"publisher\":\"OReilly Media\", > \"released\":\"2007-05-08\", > \"pages\":448 > }" {"ok":true,"id":"978-0-596-52926-0","rev":"1-8135ae28c34ce2130840ee2673664490"} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X GET http://localhost:5984/books/_all_docs {"total_rows":2,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"978-0-596-15589-6","value":{"rev":"4-32b87eccec6185a700b30cdea56f14dd"}}, {"id":"978-0-596-52926-0","key":"978-0-596-52926-0","value":{"rev":"1-8135ae28c34ce2130840ee2673664490"}} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view -H "Content-Type: application/json" -d '{"map": "function(doc) { if (doc.title) {emit(doc.title);}}"}' {"total_rows":2,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"CouchDB: The Definitive Guide","value":null}, {"id":"978-0-596-52926-0","key":"RESTful Web Services","value":null} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view -H "Content-Type: application/json" -d '{"map": "function(doc) { if (doc.title) {emit(doc.title);}}"}' | prettify_json.rb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 251 0 190 100 61 1909 613 --:--:-- --:--:-- --:--:-- 2000 { "total_rows": 2, "offset": 0, "rows": [ { "id": "978-0-596-15589-6", "key": "CouchDB: The Definitive Guide", "value": null }, { "id": "978-0-596-52926-0", "key": "RESTful Web Services", "value": null } ] } benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X PUT http://localhost:5984/books/978-0-596-15589-6 \ > -d "{ \ > \"_id\":\"978-0-596-15589-6\", > \"_rev\":\"4-32b87eccec6185a700b30cdea56f14dd\", > \"title\":\"CouchDB: The Definitive Guide\", > \"subtitle\":\"Time to Relax\", > \"authors\":[ > \"J. Chris Anderson\", > \"Jan Lehnardt\", > \"Noah Slater\" > ], > \"publisher\":\"OReilly Media\", > \"released\":\"2010-01-19\", > \"pages\":272, > \"formats\":[ > \"Print\", > \"Ebook\", > \"Safari Books Online\" > ] > }" {"ok":true,"id":"978-0-596-15589-6","rev":"5-d14adefa803b4740f7a1b901ff69ca06"} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X PUT http://localhost:5984/books/978-0-596-52926-0 -d \ > "{ > \"_id\":\"978-0-596-52926-0\", > \"_rev\":\"1-8135ae28c34ce2130840ee2673664490\", > \"title\":\"RESTful Web Services\", > \"subtitle\":\"Web services for the real world\", > \"authors\":[ > \"Leonard Richardson\", > \"Sam Ruby\" > ], > \"publisher\":\"OReilly Media\", > \"released\":\"2007-05-08\", > \"pages\":448, > \"formats\":[ > \"Print\", > \"Ebook\", > \"Safari Books Online\" > ] > }" {"ok":true,"id":"978-0-596-52926-0","rev":"2-90e2a99841388b1f606a74f6ac4794c7"} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X PUT http://localhost:5984/books/978-1-565-92580-9 -d \ > "{ > \"_id\":\"978-1-565-92580-9\", > \"title\":\"DocBook: The Definitive Guide\", > \"authors\":[ > \"Norman Walsh\", > \"Leonard Muellner\" > ], > \"publisher\":\"OReilly Media\", > \"formats\":[ > \"Print\" > ], > \"released\":\"1999-10-28\", > \"pages\":648 > }" {"ok":true,"id":"978-1-565-92580-9","rev":"1-903b99c0e7aeff95563c337d11dd5e7e"} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X GET http://localhost:5984/books/_all_docs {"total_rows":3,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"978-0-596-15589-6","value":{"rev":"5-d14adefa803b4740f7a1b901ff69ca06"}}, {"id":"978-0-596-52926-0","key":"978-0-596-52926-0","value":{"rev":"2-90e2a99841388b1f606a74f6ac4794c7"}}, {"id":"978-1-565-92580-9","key":"978-1-565-92580-9","value":{"rev":"1-903b99c0e7aeff95563c337d11dd5e7e"}} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view -H "Content-Type: application/json" -d '{"map":"function(doc) { if (doc.formats) { for (var i in doc.formats) { emit(doc.formats[i]); }}}"}' {"total_rows":7,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"Ebook","value":null}, {"id":"978-0-596-52926-0","key":"Ebook","value":null}, {"id":"978-0-596-15589-6","key":"Print","value":null}, {"id":"978-0-596-52926-0","key":"Print","value":null}, {"id":"978-1-565-92580-9","key":"Print","value":null}, {"id":"978-0-596-15589-6","key":"Safari Books Online","value":null}, {"id":"978-0-596-52926-0","key":"Safari Books Online","value":null} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view -H "Content-Type: application/json" -d '{"map":"function(doc) { if (doc.formats) { for (var i in doc.formats) { emit(doc.formats[i]); }}}"}' | prettify_json.rb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 558 0 459 100 99 40781 8796 --:--:-- --:--:-- --:--:-- 51000 { "total_rows": 7, "offset": 0, "rows": [ { "id": "978-0-596-15589-6", "key": "Ebook", "value": null }, { "id": "978-0-596-52926-0", "key": "Ebook", "value": null }, { "id": "978-0-596-15589-6", "key": "Print", "value": null }, { "id": "978-0-596-52926-0", "key": "Print", "value": null }, { "id": "978-1-565-92580-9", "key": "Print", "value": null }, { "id": "978-0-596-15589-6", "key": "Safari Books Online", "value": null }, { "id": "978-0-596-52926-0", "key": "Safari Books Online", "value": null } ] } benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view -H "Content-Type: application/json" -d '{"map":"function(doc) { if (doc.authors) { for (var i in doc.authors) { emit(doc.authors[i]); }}}"}' {"total_rows":7,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"J. Chris Anderson","value":null}, {"id":"978-0-596-15589-6","key":"Jan Lehnardt","value":null}, {"id":"978-1-565-92580-9","key":"Leonard Muellner","value":null}, {"id":"978-0-596-52926-0","key":"Leonard Richardson","value":null}, {"id":"978-0-596-15589-6","key":"Noah Slater","value":null}, {"id":"978-1-565-92580-9","key":"Norman Walsh","value":null}, {"id":"978-0-596-52926-0","key":"Sam Ruby","value":null} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view?group=true -H "Content-Type: application/json" -d '{"map": "function(doc) {if (doc.formats) {for (var i in doc.formats) {emit(doc.formats[i]);}}}","reduce": "_count"}' {"rows":[ {"key":"Ebook","value":2}, {"key":"Print","value":3}, {"key":"Safari Books Online","value":2} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view?group=true -H "Content-Type: application/json" -d '{"map": "function(doc) {if (doc.formats) {for (var i in doc.formats) {emit(doc.formats[i], doc.pages);}}}","reduce": "_sumt"}' {"rows":[ {"key":"Ebook","value":720}, {"key":"Print","value":1368}, {"key":"Safari Books Online","value":720} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X POST http://ben:ben1@localhost:5984/books/_temp_view?group=true -H "Content-Type: application/json" -d '{"map": "function(doc) {if (doc.formats) {for (var i in doc.formats) {emit(doc.formats[i], doc.pages);}}}","reduce": "_stats"}' {"rows":[ {"key":"Ebook","value":{"sum":720,"count":2,"min":272,"max":448,"sumsqr":274688}}, {"key":"Print","value":{"sum":1368,"count":3,"min":272,"max":648,"sumsqr":694592}}, {"key":"Safari Books Online","value":{"sum":720,"count":2,"min":272,"max":448,"sumsqr":274688}} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X PUT http://ben:ben1@localhost:5984/books/_design/default -d '{"_id": "_design/default","language": "javascript","views": {"titles": {"map":"function(doc) {if (doc.title) {emit(doc.title, doc.pages);}}","reduce": "_stats"}}}' {"ok":true,"id":"_design/default","rev":"1-efc5bf403fcf9efcbc5fb84efd9fe0a4"} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X GET http://localhost:5984/books/_design/default/_view/titles {"rows":[ {"key":null,"value":{"sum":1368,"count":3,"min":272,"max":648,"sumsqr":694592}} ]} benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ benjamin@benjamin-VirtualBox:~$ curl -X GET http://localhost:5984/books/_design/default/_view/formats {"total_rows":3,"offset":0,"rows":[ {"id":"978-0-596-15589-6","key":"CouchDB: The Definitive Guide","value":["Print","Ebook","Safari Books Online"]}, {"id":"978-1-565-92580-9","key":"DocBook: The Definitive Guide","value":["Print"]}, {"id":"978-0-596-52926-0","key":"RESTful Web Services","value":["Print","Ebook","Safari Books Online"]} ]} benjamin@benjamin-VirtualBox:~$