我正在尝试编写一个Yesod应用程序来替代在后端使用MongoDB的Ruby JSON服务,而且我遇到了一些障碍。
处理程序/ ProductStat.hs:8:10:
ToJSON Product' (All instance types must be of the form (T t1 ... tn) where T is not a synonym. Use -XTypeSynonymInstances if you want to disable this.) In the instance declaration for
ToJSON产品的非法实例声明
答案 0 :(得分:1)
1)似乎sql =没有连接到mongo。由于sql已经这样做了,因此Mongo应该不难。
2)您可以更改运行查询的功能 在persistent / persistent-mongoDB / Database / Persist中有一个PersistConfig的runPool函数。这在yesod-defaults中使用。我们应该更改loadConfig函数来检查readOnly设置
3)我可以更改重新排序功能以允许忽略,尽管将来(如果MongoDB返回ordeR中的所有内容)可能会影响性能,所以理想情况下你会列出被忽略的列。
4)这不应该要求更改为Persistent。您是否尝试启用TypeSynonymInstances?
在这些变化之前,我还有其他几个Yesod / Persistent优先事项 - 请卷起袖子让我知道你需要什么帮助。我可以改变2& 3如果你致力于测试它们,我很快就会自己。