You need to be added to the ContributorsGroup to edit the wiki. But don't worry! Just email any Mailing List or grab us on IRC and let us know your user name. |
Getting started with JavaScript and the CouchDB API.
Simple Wrapper
There is a simple JavaScript wrapper around CouchDB included in the distribution. When you install the server it is installed as http://localhost:5984/_utils/script/couch.js. You can see examples of its use in couch_tests.js:
var nc = {_id:"NC", cities:["Charlotte", "Raleigh"]};
var ma = {_id:"MA", cities:["Boston", "Lowell", "Worcester", "Cambridge", "Springfield"]};
var fl = {_id:"FL", cities:["Miami", "Tampa", "Orlando", "Springfield"]};
db.save(nc);
db.save(ma);
db.save(fl);
...
var nc_cities = db.open('NC').cities;Obviously the couch.js API is by no means final since CouchDB itself is still in flux.
Rolling Your Own
CouchDB speaks JSON. JSON means JavaScript Object Notation. CouchDB also speaks Plain Old HTTP, so getting going with JavaScript is a walk in the park with the XML!HttpRequest object:
// instantiate a new XMLHttpRequest object
var req = new XMLHttpRequest()
// Open a GET request to "/all_dbs"
req.open("GET", "/_all_dbs")
// Send nothing as the request body
req.send("")
// Get the response
req.responseText
["some_database", "another_database"]Going from here is just a matter using the normal CouchDB HttpRestApi to get what you want.
There are numerous javascript libraries out there that wraps up both XML!HttpRequest and JSON in possibly nicer APIs, including:
Sag for Node + browser (also supports PHP)
Pouchdb.com JavaScript library work offline, and sync with CouchDB (Alpha)