m      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl mnopqrstuvwxy mnopqrstuvwxy mnopqrstuvwxyIz0Convert a BsonValue into a native Haskell type. 0Convert a native Haskell type into a BsonValue.  {|}~ -Construct a BsonDoc from an associative list Unwrap BsonDoc to be a Map ,Return the BsonValue for given key, if any. ?BSON Document: this is the top-level (but recursive) type that C all MongoDB collections work in terms of. It is a mapping between  strings ($Data.ByteString.Lazu.UTF8.ByteString) and s. % It can be constructed either from a Map (eg   myMap) or  from a associative list (eg   myAL). 5BsonValue is the type that can be used as a key in a  .  An empty BsonDoc !"#  !"#    !"#   !"#(Should this index guarantee uniqueness? $Direction to index. %&'The field key to index on. (&Options that effect the behavior of a ^ operation. )*+'Options that control the behavior of a ] operation. ,-./012=This controls how many documents are returned at a time. The  cursor works by requesting  NumToReturn documents, which are then E immediately all transfered over the network; these are held locally  until the those  NumToReturn' are all consumed and then the network  will be hit again for the next  NumToReturn documents.  If the value 02 is given, the database will choose the number of  documents to return. GOtherwise choosing a good value is very dependant on the document size ' and the way the cursor is being used. 3?Sets the number of documents to omit - starting from the first B document in the resulting dataset - when returning the result of  the query. 4=A list of field names that limits the fields in the returned A documents. The list can contains zero or more elements, each of E which is the name of a field that should be returned. An empty list = means that no limiting is done and all fields are returned. 5A  5 representing restrictions for a query much like the  where part of an SQL query. 6 The same as 7 but without the 8 prefix. 7:The full collection name. The full collection name is the D concatenation of the database name with the collection name, using  a .6 for the concatenation. For example, for the database foo  and the collection bar, the full collection name is foo.bar. 8The name of a database. 9:-An Iterator over the results of a query. Use e to get each  successive result document, or f or g to get lazy or  strict lists of results. ;<%Maximum number of objects if capped. =If , this is a capped collection. >Desired initial size for the  collection (in bytes). must be  less than or equal to  10000000000. For capped " collections this size is the max  size of the collection. ?@It's fine to connect to the slave A*A list of handles to database connections B+Establish a connection to a MongoDB server C3Establish connections to a list of MongoDB servers DIEstablish connections to a list of MongoDB servers specifying each port. EBEstablish a connection to a MongoDB server on a non-standard port FClose database connection G/Information about the databases on the server. H/Return a list of database names on the server. I Alias for F JDrop a database. K+Get information about the MongoDB server we're connected to. LShut down the MongoDB server. 9Force a clean exit, flushing and closing all data files. C Note that it will wait until all ongoing operations are complete. M Return a list of collections in Database. N*Create a new collection in this database. @Normally collection creation is automatic. This function should ' only be needed if you want to specify ;s on creation.  9% is thrown if the collection already  exists. ODrop a collection. PRename a collection--first FullCollection argument is the G existing name, the second is the new name. At the moment this command : can also be used to move a collection between databases. Q9Return a string of validation info about the collection. &Example output (note this probably can/will change with different  versions of the server):  validate $ details: 0x7fe5cc2c1da4 ofs:e7da4 & firstExtent:0:24100 ns:test.foo.bar % lastExtent:0:24100 ns:test.foo.bar  # extents:1 0 datasize?:180 nrecords?:5 lastExtentSize:1024  padding:1  first extent: & loc:0:24100 xnext:null xprev:null  nsdiag:test.foo.bar 5 size:1024 firstRecord:0:241e4 lastRecord:0:24280  5 objects found, nobj:5  260 bytes data w/headers  180 bytes data wout/headers # deletedList: 0100100000000000000  deleted: n: 4 size: 588  nIndexes:1  test.foo.bar.$_id_ keys:5 RARun a database command. Usually this is unneeded as driver wraps ! all of the commands for you (eg N,  O, etc). S"Return the number of documents in FullCollection. T"Return the number of documents in FullCollection matching Selector UDelete documents matching Selector from the given FullCollection. V An alias for U. WInsert a single document into FullCollection. X Insert a list of documents into FullCollection. YAOpen a cursor to find documents. If you need full functionality,  see ] Z1Query, but only return the first result, if any. [APerform a query and return the result as a lazy list. Be sure to = understand the comments about using the lazy list given for  f. \8Perform a query and return the result as a strict list. ]#Open a cursor to find documents in FullCollection that match  Selector). See the documentation for each argument' s type for - information about how it effects the query. ^Update documents with BsonDoc in FullCollection that match Selector. _log into the mongodb Database attached to the  Connection `ab!create a new user in the current Database cConveniently stores the BsonDoc to the FullCollection # if there is an _id present in the BsonDoc then it already has = a place in the DB, so we update it using the _id, otherwise  we insert it dBUse this in the place of the query portion of a select type query 0 This uses javascript and a scope supplied by a BsonDoc to evaluate * documents in the database for retrieval.  Example: B findOne conn mycoll $ whereClause "this.name == (name1 + name2)" D (toBsonDoc [("name1", toBson "mar"), ("name2", toBson "tha")]) e5Return one document or Nothing if there are no more. < Automatically closes the cursor when last document is read f@Return a lazy list of all (of the rest) of the documents in the D cursor. This works much like hGetContents--it will lazily read the D cursor data out of the database as the list is used. The cursor is 9 automatically closed when the list has been fully read. AIf you manually finish the cursor before consuming off this list  you won'0t get all the original documents in the cursor.  If you don'4t consume to the end of the list, you must manually C close the cursor or you will leak the cursor, which may also leak  on the database side. g?Returns a strict list of all (of the rest) of the documents in C the cursor. This means that all of the documents will immediately 5 be read out of the database and loaded into memory. h9Manually close a cursor -- usually not needed if you use  f, g, or e. iCreate a new index on FullCollection on the list of Key /   Direction pairs. j&Drop the specified index on the given FullCollection. kDrop all indexes on FullCollection. l4Return a BsonDoc describing the existing indexes on FullCollection. BWith the current server versions (1.2) this will return documents  such as:  + {"key": {"lastname": -1, "firstname": 1}, % "name": "lastname_-1_firstname_1",  "ns": "mydb.people",  "unique": true} &Which is a single key that indexes on lastname (descending) and  then  firstname (ascending) on the collection people of the  database mydb with a uniqueness requirement. J#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklJA?@BEFIJCDKLGH8901;>=<MNOPRQ`b_a647325+/.-,(*)STUWX]V^cYZ[\d:fghe'#$&%ijklJ#$&%%&'(*))*+/.-,,-./0123456789:;>=<<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=>E mongoDB-0.3Database.MongoDB.BSONDatabase.MongoDBDatabase.MongoDB.UtilfromBsontoBson BinarySubTypeBSTUserDefinedBSTMD5 BSTUNDEFINED2BSTUUID BSTByteArray BSTFunction BSTUNDEFINED1 toBsonDoc fromBsonDoclookupBsonDoc BsonValue BsonMaxKey BsonMinKeyBsonCodeWScope BsonInt64 BsonInt32 BsonSymbol BsonRegexBsonNullBsonDateBsonBool BsonObjectId BsonBinary BsonUndefined BsonArray BsonObject BsonString BsonDoubleempty getBsonDoc putBsonDocUnique Direction Descending AscendingKey UpdateFlag UFMultiupdateUFUpsertQueryOptQONoCursorTimeout QOOpLogReplay QOSlaveOKQOTailableCursorPasswordUsername NumToReturn NumToSkip FieldSelectorSelector CollectionFullCollectionDatabaseMongoDBCollectionInvalidCursor ColCreateOptCCOMax CCOCappedCCOSize ConnectOptSlaveOK ConnectionconnectconnectClusterconnectClusterOnPort connectOnPortconClose databasesInfo databaseNames disconnect dropDatabase serverInfoserverShutdowncollectionNamescreateCollectiondropCollectionrenameCollectionvalidateCollection runCommandcount countMatchingdeleteremoveinsert insertManyfindfindOne quickFind quickFind'queryupdateloginauthlogoutaddUsersave whereClausenextDocallDocsallDocs'finish createIndex dropIndex dropIndexesindexInformationgetCgetI8getI32getI64getSgetNullputI8putI32putI64 putNothingputNullputSputStrSzBsonConvDataType DataMaxKeyDataLong DataTimestampDataIntDataCodeWScope DataSymbolDataCodeDataRef DataRegexDataNullDataDate DataBooleanDataOid DataUndefined DataBinary DataArray DataObject DataString DataNumber DataMinKey BsonDocOps toDataType fromDataTypetoBinarySubTypefromBinarySubTypegetVal getInnerObj getRawObjgetDoc getDataTypeputTypeputValputObj putOutterObj putDataTypeunsupportedErrorReply rRespFlags rCursorIDHdrhMsgLenhRespTohOp RequestIDMongoDBConnectionFailureMongoDBOperationFailureMongoDBInternalErrorOpcode OPKillCursorsOPDelete OPGetMoreOPQuery OPGetByOidOPInsertOPUpdateOPMsgOPReplycurConcurID curNumToRetcurCol curDocBytes curClosedghc-primGHC.BoolTruecHandlecRand newConnection openHandle getHandlecPutisMastercolCreateOptToBson splitFullCol splitHostPortmongoDBInternalErrormongoDBCollectionInvalidthrowColInvalidmongoDBOperationFailurethrowOpFailuremongoDBConnectionFailurethrowConFailure fromOpcodetoOpcode fromQueryOptsfromUpdateFlags getHeadergetReply getFirstDocgetMore fromDirection indexNameputColpackMsgrandNums2LvalidateCollectionName fromLookup