|
|
|
|
|
| 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 |