You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2009/07/01 08:48:15 UTC
[Couchdb Wiki] Update of "CouchIn15Minutes" by RobertBurrellDonkin
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.
The following page has been changed by RobertBurrellDonkin:
http://wiki.apache.org/couchdb/CouchIn15Minutes
The comment on the change is:
A simple quickstart guide
New page:
= Couch DB Quick Start =
(Tested with 0.9.0 on [http://www.ubuntu/org' Ubuntu], wikified from my [http://www.jroller.com/robertburrelldonkin/entry/couchdb_in_15_minutes blog])
1. [http://couchdb.apache.org/downloads.html Download], unpackage and cd to the directory
1. Read the README then follow the instructions (for Unbuntu, use [http://dbpedia.org/page/Debian Debian])
1. (Ubuntu) Remember to apt-get the require libraries before building
1. Start Couch from the command line and check everything looks good
1. Create new database
1. Browse http://localhost:5984/
1. Click "Create Database"
1. Enter "example"
1. Now for "Hello, World!"
1. Couch is RESTful so you'll need a HTTP client. These instructions are for telnet (those who dislike the command line could use [http://localhost:5984/_utils/database.html?example/_design_docs futon]).
1. Type: {{{$ telnet localhost 5984}}}
1. Response: {{{
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.}}}
1. CutNPaste: {{{
PUT /example/some_doc_id HTTP/1.0
Content-Length: 29
Content-Type: application/json
{"greetings":"Hello, World!"} }}}
1. Response: {{{
HTTP/1.0 201 Created
Server: CouchDB/0.9.0 (Erlang OTP/R12B)
Etag: "1-518824332"
Date: Wed, 24 Jun 2009 13:33:11 GMT
Content-Type: text/plain;charset=utf-8
Content-Length: 51
Cache-Control: must-revalidate
{"ok":true,"id":"some_doc_id","rev":"1-518824332"}
Connection closed by foreign host.}}}
1. Browse http://localhost:5984/example/some_doc_id to see {{{
{"_id":"some_doc_id","_rev":"1-518824332","greetings":"Hello, World!"} }}}
1.Huh?
1. Couch is a RESTful so to create a document PUT (as above) or POST
1. Couch uses a JSON API. So PUT a document as JSON and GET results as JSON
1. To view the data, use a view (Doh!)
1. Each document has a unique "_id"
1. Each document is versioned with a "_rev"
1. Relax and take a look at the view
1. (Well, actually I'm going to use a "show" but it'll demonstrate the flavour)
1. Again {{{
$ telnet localhost 5984
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
PUT /example/_design/render HTTP/1.0
Content-Length: 79
Content-Type: application/json
{"shows" : {"salute" : "function(doc, req) {return {body: doc.greetings}}"}} }}}
1. Response: {{{
HTTP/1.0 201 Created
Server: CouchDB/0.9.0 (Erlang OTP/R12B)
Etag: "1-2041852709"
Date: Wed, 01 Jul 2009 06:08:59 GMT
Content-Type: text/plain;charset=utf-8
Content-Length: 55
Cache-Control: must-revalidate
{"ok":true,"id":"_design/render","rev":"1-2041852709"}
Connection closed by foreign host. }}}
1. Browse http://localhost:5984/example/_design/render/_show/salute/some_doc_id
1. What Just Happened?
1. A "show" directly renders a document using JavaScript
1. "Shows" are added to a design document (in this case "/_design/render" via the "shows" property)
1. "body: doc.greetings" fills the response body with the "greetings" property
1. GET _design/render/_show/salute/some_doc_id to use the "salute" show to render the "some_doc_id" document added above