|
|
|
|
|
Description |
Interface to CouchDB.
|
|
Synopsis |
|
data CouchMonad a | | runCouchDB :: String -> Int -> CouchMonad a -> IO a | | runCouchDB' :: CouchMonad a -> IO a | | createDB :: String -> CouchMonad () | | dropDB :: String -> CouchMonad Bool | | newNamedDoc :: JSON a => DB -> Doc -> a -> CouchMonad (Either String String) | | newDoc :: JSON a => DB -> a -> CouchMonad (JSString, JSString) | | updateDoc :: JSON a => DB -> (JSString, JSString) -> a -> CouchMonad (Maybe (JSString, JSString)) | | deleteDoc :: DB -> (JSString, JSString) -> CouchMonad Bool | | forceDeleteDoc :: DB -> Doc -> CouchMonad Bool | | getDocPrim :: DB -> Doc -> CouchMonad (Maybe (JSString, JSString, [(String, JSValue)])) | | getDoc :: JSON a => DB -> Doc -> CouchMonad (Maybe (JSString, JSString, a)) | | getAndUpdateDoc :: JSON a => DB -> Doc -> (a -> a) -> CouchMonad (Maybe String) | | getAllDocIds :: DB -> CouchMonad [String] | | | | newView :: String -> String -> [CouchView] -> CouchMonad () | | queryView :: JSON a => DB -> Doc -> Doc -> [(String, JSValue)] -> CouchMonad [(JSString, a)] | | queryViewKeys :: DB -> Doc -> Doc -> [(String, JSValue)] -> CouchMonad [String] |
|
|
|
Initialization
|
|
|
A computation that interacts with a CouchDB database. This monad
encapsulates the IO monad, a persistent HTTP connnection to a
CouchDB database and enough information to re-open the connection
if it is closed.
| Instances | |
|
|
|
|
|
|
Connects to the CouchDB server at localhost:5984.
|
|
Databases
|
|
|
Creates a new database. Throws an exception if the database already
exists.
|
|
|
|
|
Documents
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:: DB | database
| -> Doc | document identifier
| -> CouchMonad Bool | | Delete a doc by document identifier (revision number not needed). This
operation first retreives the document to get its revision number. It fails
if the document doesn't exist or there is a conflict.
|
|
|
|
:: DB | database name
| -> Doc | document name
| -> CouchMonad (Maybe (JSString, JSString, [(String, JSValue)])) | Nothing if the document does not exist.
| Gets a document as a raw JSON value. Returns the document id,
revision and value as a JSObject. These fields are queried lazily,
and may fail later if the response from the server is malformed.
|
|
|
|
|
|
|
:: JSON a | | => DB | database
| -> Doc | document name
| -> a -> a | update function
| -> CouchMonad (Maybe String) | If the update succeeds,
return the revision number
of the result.
|
|
|
|
|
|
Views
|
|
Creating and querying views
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Produced by Haddock version 2.3.0 |