if      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeNone!"+3457=>CILMN%Mark the subset of fss that can be searched by a mongoDB regex Anything stored as PersistText or an array of PersistText would be validA MongoRegex represents a Regular expression. It is a tuple of the expression and the options for the regular expression, respectively Options are listed here:  >http://docs.mongodb.org/manual/reference/operator/query/regex/F If you use the same options you may want to define a helper such as r t = (t, "ims")3Information required to connect to a mongo database!YAML fields for this are rsName and  rsSecondaries% mgHost is assumed to be the primary)Convert a Text to a Key.A pool of plain MongoDB pipes. The database parameter has not yet been applied yet. This is useful for switching between databases (on the same host and port) Unlike the normal pool, no authentication is available1run a pool created with .3 use default  AccessMode5,convert a unique key into a MongoDB document6{convert a PersistEntity into document fields. for inserts only: nulls are ignored so they will be unset in the document. : includes nulls96convert a PersistEntity into document fields. unlike 6, nulls are included.g\It would make more sense to call this _id, but GHC treats leading underscore in special wayshunlike many SQL databases, MongoDB makes no guarantee of the ordering of the fields returned in the document. Ordering might be maintained if persistent were the only user of the db, but other tools may be using MongoDB.Persistent creates a Haskell record from a list of PersistValue But most importantly it puts all PersistValues in the proper orderH7docker integration: change the host to the mongodb linkI"Filter using a Regular expression.JlPoint to an array field with an embedded object and give a deeper query into the embedded object. Use with P.KPoint to an array field with an embedded object and give a deeper query into the embedded object. This level of nesting is not the final level. Use J or L to point to the final level.LMPoint to a nested field to query. This field is not an array type. Use with P.MSame as L , but Works against a Maybe typeNwPoint to a nested field to query. This field is not an array type. This level of nesting is not the final level. Use J or &>. to point to the final level.OSame as N , but works against a Maybe typeP$The normal Persistent equality test iV is not generic enough. Instead use this with the drill-down arrow operaters such as JTusing this as the only query filter is similar to the following in the mongoDB shell *db.Collection.find({"object.field": item})Q$The normal Persistent equality test iV is not generic enough. Instead use this with the drill-down arrow operaters such as JTusing this as the only query filter is similar to the following in the mongoDB shell *db.Collection.find({"object.field": item})R$The normal Persistent equality test iV is not generic enough. Instead use this with the drill-down arrow operaters such as JTusing this as the only query filter is similar to the following in the mongoDB shell *db.Collection.find({"object.field": item})S$The normal Persistent equality test iV is not generic enough. Instead use this with the drill-down arrow operaters such as JTusing this as the only query filter is similar to the following in the mongoDB shell *db.Collection.find({"object.field": item})T$The normal Persistent equality test iV is not generic enough. Instead use this with the drill-down arrow operaters such as JTusing this as the only query filter is similar to the following in the mongoDB shell *db.Collection.find({"object.field": item})U$The normal Persistent equality test iV is not generic enough. Instead use this with the drill-down arrow operaters such as JTusing this as the only query filter is similar to the following in the mongoDB shell *db.Collection.find({"object.field": item})Vsame as P, but give a BSON ValueWSLike '(==.)' but for an embedded list. Checks to see if the list contains an item.yIn Haskell we need different equality functions for embedded fields that are lists or non-lists to keep things type-safe.Tusing this as the only query filter is similar to the following in the mongoDB shell +db.Collection.find({arrayField: arrayItem})XZLike nestEq, but for an embedded list. Checks to see if the nested list contains an item.Zsame as W, but give a BSON Valuebequivalent to $each eachOp push field [] eachOp pull will get translated to $pullAlldFIntersection of lists: if any value in the field is found in the list.eHNo intersection of lists: if no value in the field is found in the list.jYolder versions versions of haddock (like that on hackage) do not show that this defines CBackendKey DB.MongoContext = MongoKey { unMongoKey :: DB.ObjectId }kIt would make sense to define the instance for ObjectId and then use newtype deriving however, that would create an orphan instancel1ToPathPiece is used to convert a key to/from textmnopqrstuvwxyz{|}~ !"#$%&'()*+,pool size (number of stripes).stripe size (number of connections per stripe)-time a connection is left idle before closing-pool size (number of stripes).stripe size (number of connections per stripe)-time a connection is left idle before closing.pool size (number of stripes).stripe size (number of connections per stripe)-time a connection is left idle before closing/0123456789:;g<=>?h@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdejklr i       !"#$%&'()*+,-./0123456789:;<=>?@ABCfDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef8>?:9;674<5JKMOLNPQRSTUWXVZYdeI[\]^_`cab A@'*)(=+/,0-23%&"# !GBCDFEH$.1  mnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;g<=>?h@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdejklIJKLMNOPQRSTUVWXYZ[_`acde      !""#$%&'()*+,,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/sssssssssssssssss      !"#$%&'()*+,-./01234567789:;<=>?@ABCDDEFGGoHoIoJoKoKLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLeLfLgLhLhLiLjLjLkLlLmLnLoLpLqLrLsLtLuLvLwLwLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL=LLLLLLLLLLLLLLL2LLLLLLpersi_G3wKz8jhjWx2QjePIDisbgDatabase.Persist.MongoDBbson_KuJXMjsUOCvKVZO6BQZDVw Data.Bson=:ObjectIdmongo_CHfvR1XRzt1CBMBwmHDzC0Database.MongoDB.QueryslaveOkmasterAction ConfirmWritesUnconfirmedWrites ReadStaleOk AccessMode MongoContextDatabasenetwo_F6mK9sCIw3M5SbZMt2lUQENetworkPortIDNetwork.SocketHostNamepersi_I07bC3JlqllLJQRizyqV1G#Database.Persist.Class.PersistStore BackendKeyMongoRegexSearchable MongoRegex NestedField LastEmbFld MidEmbFld MidNestFldsMidNestFldsNullable LastNestFldLastNestFldNullable MongoConf mgDatabasemgHostmgPortmgAuth mgAccessMode mgPoolStripesmgStripeConnectionsmgConnectionIdleTimemgReplicaSetConfig MongoAuthPipePoolConnectionPool ConnectionrecordTypeFromKey keyToTextreadMayMongoKeyreadMayObjectIdwithConnectionwithMongoDBConncreateMongoDBPoolcreateMongoDBPipePool withMongoPoolwithMongoDBPoolrunMongoDBPipePoolrunMongoDBPoolrunMongoDBPoolDef updatesToDoc toUniquesDoc toInsertDocentityToInsertDoccollectionNamerecordToDocumententityToDocumentdocumentFromEntity filtersToDoc fieldNamedocToEntityEitherdocToEntityThrowoidToKeykeyToOid defaultHostdefaultAccessModedefaultPoolStripesdefaultStripeConnectionsdefaultConnectionIdleTimedefaultMongoConfapplyDockerEnv=~.->.~>.&->.?&->.&~>.?&~>.nestEqnestNenestGenestLenestIn nestNotIn nestBsonEqanyEq nestAnyEq multiBsonEq anyBsonEqnestSetnestIncnestDecnestMulpushpulladdToSeteachOppullAllinListninList#Database.Persist.Class.PersistField PersistFieldid_orderPersistValuesDatabase.Persist==.$fPersistStoreMongoContext$fToJSONBackendKey$fPathPieceBackendKey MongoUpdate NestedUpdate ArrayUpdate MongoFilter NestedFilter ArrayFilterNestedArrayFilter RegExpFilterMongoUpdateOperator MongoPush MongoPull MongoAddToSetMongoUpdateOperation MongoEach MongoSimple UpdateValueOpMongoFilterOperatorPersistFilterOperatorReplicaSetConfig MultiFilterOrDollar AndDollarNoOrphanPortIDNoOrphanNominalDiffTimeMongoKey unMongoKey createPipecreateReplicatSet createRsPool testAccesscreateConnectioncreateMongoPool queryByKey selectByKey updateToBsonupdateToMongoFieldzipToDoc fieldToLabel keyFrom_idEx keyFrom_id keyToMongoDocentityDefFromKeycollectionNameFromKey orderClause makeQueryfilterToDocument toMultiOp multiFilter existsDollarorDollar andDollar filterToBSONmongoFilterToBSONmongoUpdateToBsonmongoUpdateToDocmongoFilterToDocnestedFieldNametoValuefromPersistValuesThrowmapLefteitherFromPersistValuesassocListFromDocoidToPersistValuepersistObjectIdToDbOidcastdummyFromUniquedummyFromFiltsopToTextnestedFilterOpbackendArrayOperationnestedUpdateOp$fMongoRegexSearchable[]$fMongoRegexSearchableMaybe$fMongoRegexSearchableText.TFCo:R:BackendSpecificUpdateMongoContextrecord.TFCo:R:BackendSpecificFilterMongoContextrecord$fPersistConfigMongoConf$fFromJSONMongoConf$fSerializeObjectId$fValPersistValue$fPersistQueryMongoContext$fPersistUniqueMongoContextTFCo:R:BackendKeyMongoContext$fFromJSONBackendKey$fPersistFieldSqlBackendKey$fPersistFieldSqlObjectId$fPersistFieldObjectId$fFromHttpApiDataBackendKey$fToHttpApiDataBackendKey$fFromJSONNoOrphanPortID!$fFromJSONNoOrphanNominalDiffTime+$fHasPersistBackendMongoContextMongoContext(Database.Persist.Sql.Orphan.PersistStoreunSqlBackendKey SqlBackendKeylimitOffsetOrder toJsonText mapToJSON listToJSON||./<-.<-.>=.>.<=.<.!=./=.*=.-=.+=.=.$Database.Persist.Class.PersistUnique checkUnique replaceUnique getByValue onlyUniqueinsertByupsert insertUniquedeleteBygetBy PersistUnique$Database.Persist.Class.DeleteCascadedeleteCascadeWhere deleteCascade DeleteCascade#Database.Persist.Class.PersistQueryselectKeysList selectList selectKeys selectSourcecount selectKeysRes selectFirstselectSourceRes deleteWhere updateWhere PersistQuery insertEntity belongsToJust belongsTogetJust liftPersistpersistBackendHasPersistBackendfromBackendKey toBackendKey ToBackendKey updateGetupdatedeletereplacerepsert insertKeyinsertEntityMany insertMany_ insertManyinsert_insertget PersistStore$Database.Persist.Class.PersistEntityfromPersistValueJSONtoPersistValueJSONentityIdFromJSONentityIdToJSONkeyValueEntityFromJSONkeyValueEntityToJSON entityValues fieldLenspersistUniqueToValuespersistUniqueToFieldNamespersistUniqueKeysfromPersistValuestoPersistFieldspersistFieldDef entityDefpersistIdField keyFromValues keyToValuesUnique EntityFieldKeyPersistEntityBackend PersistEntityBackendSpecificUpdate BackendUpdate updateUpdate updateValue updateFieldUpdateLimitToOffsetByDescAsc SelectOptBackendSpecificFilter BackendFilterFilterOr FilterAnd filterFilter filterValue filterFieldFilter entityVal entityKeyEntity getPersistMapfromPersistValuetoPersistValueSomePersistFieldDatabase.Persist.Types.BasefromPersistValueTexttoEmbedEntityDefkeyAndEntityFieldsentityKeyFields entityPrimaryInactiveActive Checkmark NotNullableNullable IsNullableByNullableAttr ByMaybeAttr WhyNullable entitySum entityExtra entityDerivesentityForeigns entityUniques entityFields entityAttrsentityIdentityDB entityHaskell EntityDef ExtraLine unHaskellName HaskellNameunDBNameDBNameAttrFTListFTApp FTTypeCon FieldTypefieldReference fieldStrict fieldAttrs fieldSqlType fieldTypefieldDB fieldHaskellFieldDef SelfReference CompositeRefEmbedRef ForeignRef NoReference ReferenceDefembeddedFieldsembeddedHaskellEmbedEntityDef emFieldCycle emFieldEmbed emFieldDB EmbedFieldDef uniqueAttrs uniqueFields uniqueDBName uniqueHaskell UniqueDefcompositeAttrscompositeFields CompositeDefForeignFieldDefforeignNullable foreignAttrs foreignFieldsforeignConstraintNameDBNameforeignConstraintNameHaskellforeignRefTableDBNameforeignRefTableHaskell ForeignDefPersistMongoDBUnsupportedPersistMongoDBErrorPersistForeignConstraintUnmetPersistInvalidFieldPersistMarshalError PersistErrorPersistExceptionPersistDbSpecificPersistObjectId PersistMap PersistList PersistNullPersistUTCTimePersistTimeOfDay PersistDay PersistBoolPersistRational PersistDouble PersistInt64PersistByteString PersistText PersistValueSqlOtherSqlBlob SqlDayTimeSqlTimeSqlDaySqlBool SqlNumericSqlRealSqlInt64SqlInt32 SqlStringSqlTypeNotInInLeGeLtGtNeEq PersistFilter UpsertError KeyNotFoundUpdateExceptionOnlyUniqueExceptionDivideMultiplySubtractAddAssign PersistUpdate$Database.Persist.Class.PersistConfigrunPoolcreatePoolConfigapplyEnv loadConfigPersistConfigPoolPersistConfigBackend PersistConfig