wheb-mongo: MongoDB plugin for Wheb

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Warnings:

Wheb plugin for MongoDB.

For a complete example, see the examples folder at github

You can override the collection names for the Auth and Session documents by using addSetting and setting keys for "session-collection" and "auth-collection"

opts <- generateOptions $ do
   addSetting "session-collection" "my-collection"

Reimplimentation of official example below. Use with language extensions OvererloadedStrings & ExtendedDefaultRules.

 import qualified Data.Text.Lazy as T

 import           Web.Wheb
 import           Web.Wheb.Plugins.Mongo

 data MyApp = MyApp MongoContainer
 data MyRequestState = MyRequestState

 instance MongoApp MyApp where
     getMongoContainer (MyApp mc) = mc

 homePage :: WhebHandler MyApp MyRequestState
 homePage = do
     teams <- runAction $ rest =<< find (select [] "team")
     text $ T.intercalate " | " $ map spack teams

 main :: IO ()
 main = do
   opts <- generateOptions $ do
     addGET "." rootPat $ homePage
     mongo <- initMongo "127.0.0.1:27017" "master"
     return (MyApp mongo, MyRequestState)

   runRawHandler opts $ do
     runAction $ do
         delete (select [] "team")
         insertMany "team" [
             ["name" =: "Yankees", "home" =: ["city" =: "New York", "state" =: "NY"], "league" =: "American"],
             ["name" =: "Mets", "home" =: ["city" =: "New York", "state" =: "NY"], "league" =: "National"],
             ["name" =: "Phillies", "home" =: ["city" =: "Philadelphia", "state" =: "PA"], "league" =: "National"],
             ["name" =: "Red Sox", "home" =: ["city" =: "Boston", "state" =: "MA"], "league" =: "American"] ]

   runWhebServer opts

Properties

Versions 0.0.1.0, 0.0.2.0, 0.0.2.0, 0.0.3.0
Change log None available
Dependencies base (>=4.7 && <4.8), bson (>=0.3 && <0.4), mongoDB (>=2.0 && <2.1), mtl (>=2.1 && <2.3), text (>=1.0 && <1.2), Wheb (>=0.2 && <0.3) [details]
License BSD-3-Clause
Author Kyle Hanson
Maintainer hanooter@gmail.com
Category Database
Home page https://github.com/hansonkd/Wheb-Framework
Uploaded by hansonkd at 2014-08-03T17:08:21Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees