Я пытаюсь получить доступ к монго с помощью драйверов mongodb haskell (драйвер snap не работает для snap> 0,5) в соединении.
Это то, что у меня есть до сих пор:
testSplice :: Splice AppHandler
testSplice = do
record <- liftIO $ do
pipe <- runIOE $ connect (host "127.0.0.1")
results <- access pipe master "db" (find $ select [] "coll")
close pipe
rest result
return $ [TextNode $ T.pack $ show $ records]
Я понимаю, что мне нужно использовать liftIO там, так как действие монго происходит внутри монады IO, и я хочу вытащить это обратно. Где мое понимание ломается, это результат компиляции этого соединения:
Couldn't match expected type `IO a0'
with actual type `Action m0 [Database.MongoDB.Document]'
Прошу прощения за вопрос «Отправьте мне коды, пожалуйста», но я в растерянности: где я ошибаюсь и как мне заставить это работать?