The wheb-mongo package

[Tags: bsd3, library]

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

Versions0.0.1.0, 0.0.2.0, 0.0.3.0
Dependenciesbase (==4.7.*), bson (==0.3.*), mongoDB (==2.0.*), mtl (>=2.1 && <2.3), text (>=1.0 && <1.2), Wheb (==0.3.*)
LicenseBSD3
AuthorKyle Hanson
Maintainerhanooter@gmail.com
CategoryDatabase
Home pagehttps://github.com/hansonkd/Wheb-Framework
UploadedWed Aug 27 04:45:43 UTC 2014 by hansonkd
Downloads199 total (18 in last 30 days)
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees