有没有办法使用persistent-mongoDB的低级mongoDB后端?

时间:2014-09-04 20:27:43

标签: haskell yesod

在持久性的SQL版本中,似乎可以使用rawSql直接访问SQL。是否有类似的方法从mongoDB后端访问低级命令?

1 个答案:

答案 0 :(得分:1)

事实证明这比我想象的容易得多。只需导入Database.MongoDB并使用runDB中的原始驱动程序命令。例如:

import Database.MongoDB
...
postCommentR :: DocumentId -> Handler Value
postCommentR documentId = do
  comment <- commentOr400
  let idString = toPathPiece documentId
      contents = commentBody comment
  runDB $ DB.modify (DB.select ["_id" DB.=: idString] "Document") ["$push" DB.=: ["comments" DB.=: contents]]
  returnJson $ object []