1) кажется, что sql = не подключен к монго.Поскольку sql уже делает это, это не должно быть трудным для Монго.
2) вы можете изменить функцию, которая выполняет запросы, в persistent / persistent-mongoDB / Database / Persist, есть функция runPool PersistConfig.Это используется в yesod-defaults.Вероятно, нам следует изменить функцию loadConfig, чтобы проверить настройку readOnly
3) Я согласен с изменением функции переупорядочения, чтобы разрешить ее игнорирование, хотя в будущем (если MongoDB возвращает все в ordeR), что может повлиять на производительность, поэтому в идеале вы должны перечислить игнорируемые столбцы.
4) Это не должно требовать изменений в Persistent.Вы пытались включить TypeSynonymInstances?
У меня есть несколько других приоритетов Yesod / Persistent перед этими изменениями - пожалуйста, закатайте рукава и дайте мне знать, какая помощь вам нужна для их создания.Я могу изменить 2 и 3 довольно скоро, если вы решите их протестировать.