将对象ID检索为字符串的正确方法是什么?我收到类型错误,无法弄清楚如何投射它。在其上调用'show'不起作用。
另外,反过来说,如果我将对象id作为从URL接收的字符串,例如,如何将其写回mongo。我不明白如何正确转换它。
答案 0 :(得分:2)
我假设您使用的是mongoDB驱动程序。 ObjectId
有Show
和Read
个实例。例如:
import Database.MongoDB
import Text.Read
main :: IO ()
main = do
oid <- genObjectId
putStrLn $ show oid
print (readEither (show oid) :: Either String ObjectId)
输出:
51d16cec08d0cf312a000000
Right 51d16cec08d0cf312a000000