PHP Class for talking to Couch DB
$settings = array(
'usr'=>'couch_db_user',
'pwd'=>'couch_db_passwd',
'host'=>'hostname_or_ip',
'port'=>'port',
'protocol'=>'http' //http or https
);
$couch = new CouchTalk($settings);
List All DBs
$couch->lsDBs();
Create New DB
$couch->mkDB("db_name");
Delete DB
$couch->rmDB("db_name");
Set DB
$couch->setDB("db_name");
List All Docs in DB
$couch->lsDB("db_name",true); //true includes docs
List All Changes in DB
$couch->logCatDB("db_name",true); //true includes docs
Create Doc
$doc = array(
"name"=>"App Name",
"lang"=>"English",
"mods"=>array(1,2,3,4,5),
"stat"=>1
);
$couch->mkDoc("doc_name",$doc);
Get Doc
$ob->getDoc("doc_name");
Remove Doc
$ob->rmDoc("doc_name");
Update Doc
$upField = "stat";
$upData = 1;
$couch->updateDoc("new_app",null,$upField,$upData);
Overwrite Doc
$upField = "stat";
$upData = 1;
$rev = "revison_string_data";
updateDoc("new_app",$rev,$upField,$upData);
Update Doc (Multiple Fields)
$upFields = array("stat","lang","mods");
$upData = array("stat"=>1,"lang"=>"Deutsche","mods"=>array(1,2,5));
$couch->updateDoc("new_app",null,$upFields,$upData);
Ovewrite Doc (Multiple Fields)
$upFields = array("stat","lang","mods");
$upData = array("stat"=>1,"lang"=>"Deutsche","mods"=>array(1,2,5));
$rev = "revison_string_data";
$couch->updateDoc("new_app",$rev,$upFields,$upData);
-Add attachment support
-Add view manipulation support
-Add replication support
-Clean up code