我試圖在拼接中使用mongodb haskell驅動程序訪問mongo(快照驅動程序在snap> 0.5時被破壞)。從捕捉訪問MongoDB
這是據我已經走到這一步:
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]'
對不起張貼「送我的代碼PLZ」的問題,但我在虧損:我要去錯在何處,並我如何做這項工作?
謝謝,@mightybyte。我認爲我忘了在「休息結果」之後加上'return'(它不會在這種狀態下進行類型檢查!)。 'find'('Action m Cursor')的結果與'rest'('Cursor - > Action m [Document]')之間的'bind'做到了這一點。 我在做什麼錯了,試圖通過針對訪問的值運行來將'rest'綁定到'Either Failure Cursor'。 再次感謝! – Khanzor