From 4ae4f793e3ec63b12c44c0737fbb4e36229f6fc9 Mon Sep 17 00:00:00 2001 From: Fedor Gogolev Date: Mon, 9 Jul 2012 08:26:58 +0400 Subject: [PATCH] Function `eval` returns `Val v` instead of Document Fixes #1 --- Database/MongoDB/Query.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Database/MongoDB/Query.hs b/Database/MongoDB/Query.hs index 5c942d1..1d6827f 100644 --- a/Database/MongoDB/Query.hs +++ b/Database/MongoDB/Query.hs @@ -60,8 +60,9 @@ import Control.Monad.Trans.Control (ComposeSt, MonadBaseControl(..), MonadTransControl(..), StM, StT, defaultLiftBaseWith, defaultRestoreM) import Control.Monad.Writer (WriterT, Monoid) -import Data.Bson (Document, Field(..), Label, Value(String,Doc), Javascript, - at, valueAt, lookup, look, genObjectId, (=:), (=?)) +import Data.Bson (Document, Field(..), Label, Val, Value(String,Doc), + Javascript, at, valueAt, lookup, look, genObjectId, (=:), + (=?)) import Data.Text (Text) import qualified Data.Text as T @@ -694,7 +695,7 @@ runCommand1 :: (MonadIO' m) => Text -> Action m Document -- ^ @runCommand1 foo = runCommand [foo =: 1]@ runCommand1 c = runCommand [c =: (1 :: Int)] -eval :: (MonadIO' m) => Javascript -> Action m Document +eval :: (MonadIO' m, Val v) => Javascript -> Action m v -- ^ Run code on server eval code = at "retval" <$> runCommand ["$eval" =: code]