diff --git a/Database/MongoDB.hs b/Database/MongoDB.hs index ad90c71..3089fb1 100644 --- a/Database/MongoDB.hs +++ b/Database/MongoDB.hs @@ -32,7 +32,7 @@ module Database.MongoDB -- * Database Database, MongoDBCollectionInvalid, ColCreateOpt(..), - collectionNames, createCollection, dropCollection, + collectionNames, createCollection, dropCollection, validateCollection, -- * Collection Collection, FieldSelector, NumToSkip, NumToReturn, Selector, QueryOpt(..), @@ -160,6 +160,13 @@ dropCollection c col = do _ <- dbCmd c db $ toBsonDoc [("drop", toBson col')] return () +validateCollection :: Connection -> Collection -> IO String +validateCollection c col = do + let db = dbFromCol col + col' = colMinusDB col + res <- dbCmd c db $ toBsonDoc [("validate", toBson col')] + return $ fromBson $ fromJust $ BSON.lookup "result" res + dbFromCol :: Collection -> Database dbFromCol = List.takeWhile (/= '.') diff --git a/TODO b/TODO index 348c097..4179c5d 100644 --- a/TODO +++ b/TODO @@ -38,7 +38,6 @@ MongoDB * getProfilingLevel * setProfilingLevel * getProfilingInfo - * validateCollection - collection * modify * replace