我正在开发一个yesod应用程序。我正在尝试编写一个只处理查询集合并返回所有结果的处理程序。
在我的配置/模型文件中,相关条目是
Survey json
name String
questions [QuestionId]
deriving (Show)
我正在处理以下处理程序:
module Handler.ListSurveys where
import Import
getListSurveysR :: Handler Value
getListSurveysR = do
res :: [Entity Survey] <- runDB $ selectList [] []
return $ object ["surveys" .= res]
这导致以下错误:
Handler/ListSurveys.hs:6:41:
Couldn't match type ‘YesodPersistBackend App’
with ‘mongoDB-2.0.7:Database.MongoDB.Query.MongoContext’
Expected type: YesodDB App [Entity Survey]
Actual type: ReaderT
mongoDB-2.0.7:Database.MongoDB.Query.MongoContext
(HandlerT App IO)
[Entity Survey]
In the second argument of ‘($)’, namely ‘selectList [] []’
In a stmt of a 'do' block:
res :: [Entity Survey] <- runDB $ selectList [] []
我真的可以使用一些帮助来了解这里的类型(对Haskell相对缺乏经验)以及如何解决这个问题。