我尝试在Servant webservices中使用带有MongoDB的persistent。下面是我的模型代码(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转换所需的函数。
为此生成的函数是什么?
发布于 2020-04-01 22:05:25
使用bson-generic包生成fromBSON和toBSON函数,然后将从数据库获取的文档映射到[User]
http://hackage.haskell.org/package/bson-generic-0.0.8.1/docs/Data-Bson-Generic.html
https://stackoverflow.com/questions/37132615
复制相似问题