我有一些代码在执行以下操作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 类型之间进行转换。