在Database.MongoDB.Query中,有这个功能:
access :: MonadIO m => Pipe -> AccessMode -> Database -> Action m a -> m a
文档说明了这个功能:
对管道另一端的服务器上的数据库运行操作。使用访问模式进行任何读写操作。在连接失败或读/写失败时返回。
m
可以是任何monad(具有MonadIO
实例)。例如,"返回左边"是指m
只是IO
monad?m
方法时,我必须Either
成为access
monad才能检测到连接或读/写失败?答案 0 :(得分:1)
是。这是一种类型。 Return Left来自旧版本。如果发生任何错误,那么它只会抛出IO异常。我们需要解决它。 我提交了一个bug。 https://github.com/mongodb-haskell/mongodb/issues/67