Я пытался понять, как преобразовать тип данных в документ с помощью Haskell Data.Bson.Mapping, однако я не смог понять это, и пример в docs тоже не очень помогли.
Как решить эту проблему? Кажется, еще не было опубликовано ни одного вопроса по этому поводу. Я прикреплю соответствующий код ниже, чтобы вы могли понять, откуда я.
{-# LANGUAGE TemplateHaskell #-}
module Main where
import Database.MongoDB.Connection (host, connect)
import Database.MongoDB.Query (access, master, insertMany)
import Data.Data (Typeable)
import Data.Bson.Mapping
data Item a = Item { content :: a
, checked :: Bool
} deriving (Eq, Show, Typeable)
Что я уже пробовал
- selectFields, но я не знаю, как изменить выражение (Q Exp) в документ
- Реализую производныйBson, но получил ту же ошибку, что и в примере из Docs
Обратите внимание, я все еще довольно новичок в Haskell, и я потратил 2 часа на поиск решения, но просто не мог его понять.
Спасибо.
bson-mapping
Template Haskell выглядят немного странно — по какой причине вы предпочитаете этот пакетbson-generic
или одному из конвертеров в Aeson? - person leftaroundabout   schedule 13.03.2018