我有一些代码在执行以下操作persistent < 2
:
(either (\_ -> 0) id).fromPersistValue.unKey.entityKey $ myEntity
如何使用现在由各个后端定义的相同功能实现相同的功能persistent > 2
,keys
因此没有unKey
功能?在较新版本的 Persistent 中,还有没有为 MongoDB 键实现这些“Int 表示”?
我有一些代码在执行以下操作persistent < 2
:
(either (\_ -> 0) id).fromPersistValue.unKey.entityKey $ myEntity
如何使用现在由各个后端定义的相同功能实现相同的功能persistent > 2
,keys
因此没有unKey
功能?在较新版本的 Persistent 中,还有没有为 MongoDB 键实现这些“Int 表示”?
似乎有一个keyToOid
功能可以大致完成您想要的功能Database.Persist.MongoDB
。从Persistent docs中,我收集到更改是从后端抽象密钥的一部分:
class (PersistEntity record, PersistEntityBackend record ~ backend, PersistStore backend) => ToBackendKey backend record where
ToBackendKey
将 a 转换PersistEntity Key
为 aBackendKey
每个后端都可以使用它在 aKey
和普通 Haskell 类型之间进行转换。