From 4307fea5aa7bf2164a48f14770e6ae7054d61a62 Mon Sep 17 00:00:00 2001 From: Tony Hannan Date: Thu, 18 Aug 2011 19:41:32 -0400 Subject: [PATCH] collect ids from insert lazily in case not used --- Database/MongoDB/Query.hs | 4 ++-- mongoDB.cabal | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Database/MongoDB/Query.hs b/Database/MongoDB/Query.hs index 9d4350d..4b1d6ae 100644 --- a/Database/MongoDB/Query.hs +++ b/Database/MongoDB/Query.hs @@ -40,7 +40,7 @@ module Database.MongoDB.Query ( import Prelude as X hiding (lookup) import Data.UString as U (UString, dropWhile, any, tail) -import Data.Bson (Document, at, lookup, look, Field(..), (=:), (=?), Label, Value(String,Doc), Javascript, genObjectId) +import Data.Bson (Document, at, valueAt, lookup, look, Field(..), (=:), (=?), Label, Value(String,Doc), Javascript, genObjectId) import Database.MongoDB.Internal.Protocol (Pipe, Notice(..), Request(GetMore), Reply(..), QueryOption(..), ResponseFlag(..), InsertOption(..), UpdateOption(..), DeleteOption(..), CursorId, FullCollection, Username, Password, pwKey) import qualified Database.MongoDB.Internal.Protocol as P (send, call, Request(Query)) import Database.MongoDB.Internal.Util (MonadIO', loop, liftIOE, true1, (<.>)) @@ -274,7 +274,7 @@ insert' opts col docs = do db <- thisDatabase docs' <- liftIO $ mapM assignId docs write (Insert (db <.> col) opts docs') - mapM (look "_id") docs' + return $ map (valueAt "_id") docs' assignId :: Document -> IO Document -- ^ Assign a unique value to _id field if missing diff --git a/mongoDB.cabal b/mongoDB.cabal index c047fb7..edeb68d 100644 --- a/mongoDB.cabal +++ b/mongoDB.cabal @@ -1,5 +1,5 @@ name: mongoDB -version: 1.0.1 +version: 1.0.2 build-type: Simple license: OtherLicense license-file: LICENSE