splice で mongodb haskell ドライバーを使用して mongo にアクセスしようとしています (スナップ ドライバーはスナップ > 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]
mongo アクションは IO モナド内で発生するため、そこで liftIO を使用する必要があることを理解しており、それを引き出したいと考えています。私の理解が崩壊するのは、そのスプライスをコンパイルした結果です。
Couldn't match expected type `IO a0'
with actual type `Action m0 [Database.MongoDB.Document]'
「コードを送ってください」という質問を投稿して申し訳ありませんが、途方に暮れています。どこが間違っているのか、どうすればこれを機能させることができますか?