我尝试在Servant webservices API中使用persistent
MongoDB。
以下是我的型号代码(Model.hs
)
let mongoSettings = (mkPersistSettings (ConT ''MongoContext))
in share [mkPersist mongoSettings, mkMigrate "migrateAll"] [persistLowerCase|
User
fam String
im String
ot String
email String
login String
pswd String
deriving Show
|]
$(deriveJSON defaultOptions ''User)
访问数据库的代码:
usersGet :: AppM [User]
usersGet = do
resultDB <- runDb $ do rest =<< find (select [] "user")
return resultDB
这给了我一个错误:
Error: Expected type: [User] Actual type: [Document].
我理解错误,但我认为该库应该自动生成从Document -> User
转换所需的函数。
为此产生的功能是什么?
答案 0 :(得分:0)
使用bson-generic
包来生成fromBSON
和toBSON
函数
然后将您从数据库获得的文档映射到[User]
http://hackage.haskell.org/package/bson-generic-0.0.8.1/docs/Data-Bson-Generic.html