{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ConstraintKinds #-}
module Prolude.MongoDB
(
module Database.MongoDB
, MongoAction
, MongoCollection
, MongoDatabase
, MongoDocument
, MongoField
, MongoLabel
, MongoQuery
, MongoValue
, MongoVal
, pattern MongoArray
, pattern MongoBin
, pattern MongoBool
, pattern MongoDoc
, pattern MongoFloat
, pattern MongoFun
, pattern MongoInt32
, pattern MongoInt64
, pattern MongoJavaScr
, pattern MongoMd5
, pattern MongoMinMax
, pattern MongoNull
, pattern MongoObjId
, pattern MongoRegEx
, pattern MongoStamp
, pattern MongoString
, pattern MongoSym
, pattern MongoUserDef
, pattern MongoUTC
, pattern MongoUuid
, mongoFailed
, mongoInsert_
, mongoModified
, mongoSelect
, mongoUpdateMany
, (>=:)
, (>:)
, (<=:)
, (<:)
, (<-:)
, (!<-:)
, (!=:)
)
where
import Database.MongoDB (ObjectId, UpdateOption(MultiUpdate), fval, genObjectId, (=:))
import qualified Control.Monad.IO.Class as Monad
import qualified Data.Int as Int
import qualified Data.Text as Text
import qualified Data.Time as Time
import qualified Database.MongoDB as Mongo
type MongoAction = Mongo.Action
type MongoCollection = Mongo.Collection
type MongoDatabase = Mongo.Database
type MongoDocument = Mongo.Document
type MongoField = Mongo.Field
type MongoLabel = Mongo.Label
type MongoQuery = Mongo.Query
type MongoSelector = Mongo.Selector
type MongoVal = Mongo.Val
type MongoValue = Mongo.Value
(>=:) :: MongoVal v => MongoLabel -> v -> MongoField
MongoLabel
f >=: :: forall v. MongoVal v => MongoLabel -> v -> MongoField
>=: v
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$gte") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: v
x]
(>:) :: MongoVal v => MongoLabel -> v -> MongoField
MongoLabel
f >: :: forall v. MongoVal v => MongoLabel -> v -> MongoField
>: v
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$gt") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: v
x]
(<=:) :: MongoVal v => MongoLabel -> v -> MongoField
MongoLabel
f <=: :: forall v. MongoVal v => MongoLabel -> v -> MongoField
<=: v
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$lte") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: v
x]
(<:) :: MongoVal v => MongoLabel -> v -> MongoField
MongoLabel
f <: :: forall v. MongoVal v => MongoLabel -> v -> MongoField
<: v
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$lt") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: v
x]
(<-:) :: MongoVal v => MongoLabel -> [v] -> MongoField
MongoLabel
f <-: :: forall v. MongoVal v => MongoLabel -> [v] -> MongoField
<-: [v]
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$in") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [v]
x]
(!<-:) :: MongoVal v => MongoLabel -> [v] -> MongoField
MongoLabel
f !<-: :: forall v. MongoVal v => MongoLabel -> [v] -> MongoField
!<-: [v]
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$nin") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [v]
x]
(!=:) :: MongoVal v => MongoLabel -> v -> MongoField
MongoLabel
f !=: :: forall v. MongoVal v => MongoLabel -> v -> MongoField
!=: v
x = MongoLabel
f forall v. MongoVal v => MongoLabel -> v -> MongoField
=: [(String -> MongoLabel
Text.pack String
"$ne") forall v. MongoVal v => MongoLabel -> v -> MongoField
=: v
x]
pattern MongoFloat :: Double -> MongoValue
pattern $bMongoFloat :: Double -> MongoValue
$mMongoFloat :: forall {r}. MongoValue -> (Double -> r) -> ((# #) -> r) -> r
MongoFloat x = Mongo.Float x
pattern MongoString :: Text.Text -> MongoValue
pattern $bMongoString :: MongoLabel -> MongoValue
$mMongoString :: forall {r}. MongoValue -> (MongoLabel -> r) -> ((# #) -> r) -> r
MongoString x = Mongo.String x
pattern MongoDoc :: Mongo.Document -> MongoValue
pattern $bMongoDoc :: [MongoField] -> MongoValue
$mMongoDoc :: forall {r}. MongoValue -> ([MongoField] -> r) -> ((# #) -> r) -> r
MongoDoc x = Mongo.Doc x
pattern MongoArray :: [Mongo.Value] -> MongoValue
pattern $bMongoArray :: [MongoValue] -> MongoValue
$mMongoArray :: forall {r}. MongoValue -> ([MongoValue] -> r) -> ((# #) -> r) -> r
MongoArray x = Mongo.Array x
pattern MongoBin :: Mongo.Binary -> MongoValue
pattern $bMongoBin :: Binary -> MongoValue
$mMongoBin :: forall {r}. MongoValue -> (Binary -> r) -> ((# #) -> r) -> r
MongoBin x = Mongo.Bin x
pattern MongoFun :: Mongo.Function -> MongoValue
pattern $bMongoFun :: Function -> MongoValue
$mMongoFun :: forall {r}. MongoValue -> (Function -> r) -> ((# #) -> r) -> r
MongoFun x = Mongo.Fun x
pattern MongoUuid :: Mongo.UUID -> MongoValue
pattern $bMongoUuid :: UUID -> MongoValue
$mMongoUuid :: forall {r}. MongoValue -> (UUID -> r) -> ((# #) -> r) -> r
MongoUuid x = Mongo.Uuid x
pattern MongoMd5 :: Mongo.MD5 -> MongoValue
pattern $bMongoMd5 :: MD5 -> MongoValue
$mMongoMd5 :: forall {r}. MongoValue -> (MD5 -> r) -> ((# #) -> r) -> r
MongoMd5 x = Mongo.Md5 x
pattern MongoUserDef :: Mongo.UserDefined -> MongoValue
pattern $bMongoUserDef :: UserDefined -> MongoValue
$mMongoUserDef :: forall {r}. MongoValue -> (UserDefined -> r) -> ((# #) -> r) -> r
MongoUserDef x = Mongo.UserDef x
pattern MongoObjId :: Mongo.ObjectId -> MongoValue
pattern $bMongoObjId :: ObjectId -> MongoValue
$mMongoObjId :: forall {r}. MongoValue -> (ObjectId -> r) -> ((# #) -> r) -> r
MongoObjId x = Mongo.ObjId x
pattern MongoBool :: Bool -> MongoValue
pattern $bMongoBool :: Bool -> MongoValue
$mMongoBool :: forall {r}. MongoValue -> (Bool -> r) -> ((# #) -> r) -> r
MongoBool x = Mongo.Bool x
pattern MongoUTC :: Time.UTCTime -> MongoValue
pattern $bMongoUTC :: UTCTime -> MongoValue
$mMongoUTC :: forall {r}. MongoValue -> (UTCTime -> r) -> ((# #) -> r) -> r
MongoUTC x = Mongo.UTC x
pattern MongoNull :: MongoValue
pattern $bMongoNull :: MongoValue
$mMongoNull :: forall {r}. MongoValue -> ((# #) -> r) -> ((# #) -> r) -> r
MongoNull = Mongo.Null
pattern MongoRegEx :: Mongo.Regex -> MongoValue
pattern $bMongoRegEx :: Regex -> MongoValue
$mMongoRegEx :: forall {r}. MongoValue -> (Regex -> r) -> ((# #) -> r) -> r
MongoRegEx x = Mongo.RegEx x
pattern MongoJavaScr :: Mongo.Javascript -> MongoValue
pattern $bMongoJavaScr :: Javascript -> MongoValue
$mMongoJavaScr :: forall {r}. MongoValue -> (Javascript -> r) -> ((# #) -> r) -> r
MongoJavaScr x = Mongo.JavaScr x
pattern MongoSym :: Mongo.Symbol -> MongoValue
pattern $bMongoSym :: Symbol -> MongoValue
$mMongoSym :: forall {r}. MongoValue -> (Symbol -> r) -> ((# #) -> r) -> r
MongoSym x = Mongo.Sym x
pattern MongoInt32 :: Int.Int32 -> MongoValue
pattern $bMongoInt32 :: Int32 -> MongoValue
$mMongoInt32 :: forall {r}. MongoValue -> (Int32 -> r) -> ((# #) -> r) -> r
MongoInt32 x = Mongo.Int32 x
pattern MongoInt64 :: Int.Int64 -> MongoValue
pattern $bMongoInt64 :: Int64 -> MongoValue
$mMongoInt64 :: forall {r}. MongoValue -> (Int64 -> r) -> ((# #) -> r) -> r
MongoInt64 x = Mongo.Int64 x
pattern MongoStamp :: Mongo.MongoStamp -> MongoValue
pattern $bMongoStamp :: MongoStamp -> MongoValue
$mMongoStamp :: forall {r}. MongoValue -> (MongoStamp -> r) -> ((# #) -> r) -> r
MongoStamp x = Mongo.Stamp x
pattern MongoMinMax :: Mongo.MinMaxKey -> MongoValue
pattern $bMongoMinMax :: MinMaxKey -> MongoValue
$mMongoMinMax :: forall {r}. MongoValue -> (MinMaxKey -> r) -> ((# #) -> r) -> r
MongoMinMax x = Mongo.MinMax x
{-# COMPLETE
MongoFloat
, MongoString
, MongoDoc
, MongoArray
, MongoBin
, MongoFun
, MongoUuid
, MongoMd5
, MongoUserDef
, MongoObjId
, MongoBool
, MongoUTC
, MongoNull
, MongoRegEx
, MongoJavaScr
, MongoSym
, MongoInt32
, MongoInt64
, MongoStamp
, MongoMinMax #-}
mongoFailed :: Mongo.WriteResult -> Bool
mongoFailed :: WriteResult -> Bool
mongoFailed = WriteResult -> Bool
Mongo.failed
mongoInsert_ :: Monad.MonadIO m => MongoCollection -> MongoDocument -> MongoAction m ()
mongoInsert_ :: forall (m :: * -> *).
MonadIO m =>
MongoLabel -> [MongoField] -> MongoAction m ()
mongoInsert_ = forall (m :: * -> *).
MonadIO m =>
MongoLabel -> [MongoField] -> MongoAction m ()
Mongo.insert_
mongoModified :: Mongo.WriteResult -> Maybe Int
mongoModified :: WriteResult -> Maybe Int
mongoModified = WriteResult -> Maybe Int
Mongo.nModified
mongoSelect :: MongoSelector -> MongoCollection -> MongoQuery
mongoSelect :: [MongoField] -> MongoLabel -> MongoQuery
mongoSelect = forall aQueryOrSelection.
Select aQueryOrSelection =>
[MongoField] -> MongoLabel -> aQueryOrSelection
Mongo.select
mongoUpdateMany
:: Monad.MonadIO m
=> MongoCollection
-> [(MongoSelector, MongoDocument, [UpdateOption])]
-> MongoAction m Mongo.WriteResult
mongoUpdateMany :: forall (m :: * -> *).
MonadIO m =>
MongoLabel
-> [([MongoField], [MongoField], [UpdateOption])]
-> MongoAction m WriteResult
mongoUpdateMany = forall (m :: * -> *).
MonadIO m =>
MongoLabel
-> [([MongoField], [MongoField], [UpdateOption])]
-> MongoAction m WriteResult
Mongo.updateMany