h*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.7.1.3  Safe-Inferred"ZmongoDBWraps network's  Used to ease compatibility between older and newer network versions.mongoDBRetrieves the replica set name from the TXT DNS record for the given hostnamemongoDBRetrieves the replica set seed list from the SRV DNS record for the given hostname   Safe-Inferred6 mongoDBA monadic sort implementation derived from the non-monadic one in ghc's PreludemongoDBRandomly shuffle items in listmongoDBRepeatedy execute action, collecting results, until it returns NothingmongoDBApply action to elements one at a time until one succeeds. Throw last error if all fail. Throw strMsg error if list is empty.mongoDBApply action to elements one at a time until one succeeds. Throw last error if all fail. Throw given error if list is emptymongoDB2lift IOE monad to ErrorT monad over some MonadIO mmongoDB1Change or insert value of key in association listmongoDBbit-or all numbers togethermongoDB=Concat first and second together with period in between. Eg. #"hello" <.> "world" = "hello.world"mongoDBIs field's value a 1 or True (MongoDB use both Int and Bools for truth values). Error if field not in document or field not a Num or Bool.mongoDBHexadecimal string representation of a byte string. Each byte yields two hexadecimal characters.mongoDB+Two char hexadecimal representation of byte(c) Victor Denisov, 2016 Apache 2.0&Victor Denisov denisovenator@gmail.comalphaPOSIX Safe-Inferred mongoDBAbstract transport interface should return  on EOF mongoDBMake connection from handle     Safe-Inferred"%&''3mongoDBSet when getMore is called but the cursor id is not valid at the server. Returned with zero results.mongoDBQuery error. Returned with one document containing an "$err" field holding the error message.mongoDBFor backward compatability: Set when the server supports the AwaitData query option. if it doesn't, a replica slave client should sleep a little between getMore'smongoDB/A reply is a message received in response to a mongoDB0 = cursor finishedmongoDBTailable means cursor is not closed when the last data is retrieved. Rather, the cursor marks the final object's position. You can resume using the cursor later, from where it was located, if more data were received. Like any "latent cursor", the cursor may become invalid at some point @ for example if the final object it references were deleted. Thus, you should be prepared to requery on CursorNotFound exception.mongoDBAllow query of replica slave. Normally these return an error except for namespace "local".mongoDBThe server normally times out idle cursors after 10 minutes to prevent a memory leak in case a client forgets to close a cursor. Set this option to allow a cursor to live forever until it is closed.mongoDBUse with TailableCursor. If we are at the end of the data, block for a while rather than returning no data. After a timeout period, we do return as normal.mongoDBGet partial results from a mongos7 if some shards are down, instead of throwing an error.mongoDB+A request is a message that is sent with a  expected in returnmongoDB,Number of initial matching documents to skipmongoDBThe number of document to return in each batch response from the server. 0 means use Mongo default. Negative means close cursor after first batch and use absolute value as batch size.mongoDB[]% = return all documents in collectionmongoDB[] = return whole documentmongoDB;The message ends with 4 bytes containing a CRC-32C checksummongoDBAnother message will follow this one without further action from the receiver.mongoDBThe client is prepared for multiple replies to this request using the moreToCome bit.mongoDBIf set, the database will remove only the first matching document in the collection. Otherwise all matching documents will be removedmongoDBIf set, the database will insert the supplied object into the collection if no matching document is foundmongoDBIf set, the database will update all matching objects in the collection. Otherwise only updates first matching docmongoDBIf set, the database will not stop processing a bulk insert if one fails (eg due to duplicate IDs). This makes bulk insert behave similarly to a series of single inserts, except lastError will be set if any insert fails, not just the last one. (new in 1.9.1)mongoDB0A notice is a message that is sent with no replymongoDB1A fresh request id is generated for every messagemongoDBDatabase name and collection name with period (.) in between. Eg. "myDb.myCollection"mongoDB=Message received from a Mongo server in response to a RequestmongoDBA write notice(s) with getLastError request, or just query request. Note, that requestId will be out of order because request ids will be generated for notices after the request id supplied was generated. This is ok because the mongo server does not care about order just uniqueness.mongoDBThread-safe TCP connection with pipelined requests. In long-running applications the user is expected to use it as a "client": create a  at startup, use it as long as possible, watch out for possible timeouts, and close it on shutdown. Bearing in mind that disconnections may be triggered by MongoDB service providers, the user is responsible for re-creating their  whenever necessary.mongoDB$Thread-safe and pipelined connectionmongoDB=Mutex on handle, so only one thread at a time can write to itmongoDBQueue of threads waiting for responses. Every time a response arrives we pop the next thread and give it the response.mongoDB action and_then behaves the same as  forkFinally action and_then, except that action* is run completely unmasked, whereas with  forkFinally, action0 is run with the same mask as the parent thread.mongoDB2Create new Pipeline over given handle. You should ! pipeline when finished, which will also close handle. If pipeline is not closed but eventually garbage collected, it will be closed along with handle.!mongoDB$Close pipe and underlying connectionmongoDBListen for responses and supply them to waiting threads in ordermongoDBSend message to destination; the destination must not response (otherwise future s will get these responses instead of their own). Throw IOError and close pipeline if send failsmongoDB'Send message to destination and return promise of response from one message only. The destination must reply to the message (otherwise promises will have the wrong responses in them). Throw IOError and closes pipeline if send fails, likewise for promised response.mongoDB'Send message to destination and return promise of response from one message only. The destination must reply to the message (otherwise promises will have the wrong responses in them). Throw IOError and closes pipeline if send fails, likewise for promised response.mongoDBCreate pipe over handlemongoDBCreate pipe over connectionmongoDBSend notices as a contiguous batch to server with no reply. Throw IOError if connection fails.mongoDBSend notices as a contiguous batch to server with no reply. Throw IOError if connection fails.mongoDBSend notices and request as a contiguous batch to server and return reply promise, which will block when invoked until reply arrives. This call and resulting promise will throw IOError if connection fails.mongoDBSend requests as a contiguous batch to server and return reply promise, which will block when invoked until reply arrives. This call and resulting promise will throw IOError if connection fails.mongoDBWrite message to connectionmongoDBWrite message to connectionmongoDBread response from a connectionmongoDBGenerate fresh request idmongoDBNote, does not write message length (first int32), assumes caller will write itmongoDBNote, does not write message length (first int32), assumes caller will write itmongoDBNote, does not read message length (first int32), assumes it was already read "!  Safe-Inferred"%&'7q#mongoDBA command is a special query or action against the database. See  ,http://www.mongodb.org/display/DOCS/Commands for details.$mongoDBResult of running a MapReduce has some stats besides the output. See http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-Resultobject&mongoDB/Clear all old data and replace it with new data'mongoDBLeave old data but overwrite entries with the same key with new data(mongoDBLeave old data but combine entries with the same key via MR's reduce function*mongoDBReturn results directly instead of writing them to an output collection. Results must fit within 16MB limit of a single document+mongoDBWrite results to given collection, in other database if specified. Follow merge policy when entry already exists,mongoDB(key, value) -> final_value. A finalize function may be run after reduction. Such a function is optional and is not necessary for many map/reduce cases. The finalize function takes a key and a value, and returns a finalized value.-mongoDB(key, [value]) -> value. The reduce function receives a key and an array of values and returns an aggregate result value. The MapReduce engine may invoke reduce functions iteratively; thus, these functions must be idempotent. That is, the following must hold for your reduce function: )reduce(k, [reduce(k,vs)]) == reduce(k,vs). If you need to perform an operation only once, use a finalize function. The output of emit (the 2nd param) and reduce should be the same format to make iterative reduce possible..mongoDB () -> void+. The map function references the variable this to inspect the current object under consideration. The function must call emit(key,value) at least once, but may be invoked any number of times, as may be appropriate./mongoDBMaps every document in collection to a list of (key, value) pairs, then for each unique key reduces all its associated values to a single result. There are additional parameters that may be set to tweak this basic operation. This implements the latest version of map-reduce that requires MongoDB 1.7.4 or greater. To map-reduce against an older server use  directly as described in  -http://www.mongodb.org/display/DOCS/MapReduce.4mongoDB5Operate on only those documents selected. Default is [] meaning all documents.5mongoDB Default is [] meaning no sort6mongoDBDefault is 0 meaning no limit7mongoDBOutput to a collection with a certain merge policy. Default is no collection (*). Note, you don't want this default if your result set is large.8mongoDBFunction to apply to all the results when finished. Default is Nothing.9mongoDB5Variables (environment) that can be accessed from mapreducefinalize. Default is [].:mongoDB;Provide statistics on job execution time. Default is False.;mongoDB!Fields to group by, or function ( doc -> key?) returning a "key object" to be used as the grouping key. Use = instead of < to specify a key that is not an existing member of the object (or, to access embedded members).>mongoDBGroups documents in collection by key then reduces (aggregates) each groupAmongoDBFields to group byBmongoDB(doc, agg) -> (). The reduce function reduces (aggregates) the objects iterated. Typical operations of a reduce function include summing and counting. It takes two arguments, the current document being iterated over and the aggregation value, and updates the aggregate value.CmongoDBagg.. Initial aggregation value supplied to reduceDmongoDB8Condition that must be true for a row to be considered. [] means always true.EmongoDBagg -> () | result. An optional function to be run on each item in the result set just before the item is returned. Can either modify the item (e.g., add an average field given a count and a total) or return a replacement object (returning a new object with just _id and average fields).HmongoDBEnable writing to temporary files (aggregations have a 100Mb RAM limit)ImongoDBThe Aggregate PipelineJmongoDB&Iterator over results of a query. Use  to iterate or  to get all results. A cursor is closed when it is explicitly closed, all results have been read from it, garbage collected, or not used for over 10 minutes (unless  option was specified in U)). Reading from a closed cursor raises a . Note, a cursor is not closed when the pipe is closed, so you can open another pipe to the same server and continue using the cursor.mongoDBCursorId = 0 means cursor is finished. Documents is remaining documents to serve in current batch. Limit is number of documents to return. Nothing means no limit.mongoDBA promised batch which may failKmongoDB Options for  findAndModifyLmongoDB1remove the selected document when the boolean is TrueNmongoDB2the update instructions, or a replacement documentOmongoDB=return the document with the modifications made on the updatePmongoDB5create a new document if no documents match the queryQmongoDBThe number of document to return in each batch response from the server. 0 means use Mongo default.RmongoDBRead-write action, slave not OK, every write is fire & forget.mongoDB?Read-write action, slave not OK, every write is confirmed with  getLastError.mongoDBError code from  getLastError or query failure.mongoDBA connection failure, or a read or write exception like cursor expired or inserting a duplicate key. Note, unexpected data from the server is not a Failure, rather it is a programming error (you should call  in this case) because the client and server are incompatible and requires a programming change.mongoDBTCP connection (I6) failed. May work if you try again on the same Mongo  Connection which will create a new Pipe.mongoDBCursor expired because it wasn't accessed for over 10 minutes, or this cursor came from a different server that the one you are currently connected to (perhaps a fail over happen between servers in a replica set)mongoDB7Query failed for some reason as described in the stringmongoDBError observed by getLastError after a write, error description is in string, index of failed document is the first argumentmongoDBWrite concern error. It's reported only by insert, update, delete commands. Not by wire protocol.mongoDB% found no document matching selectionmongoDB returned an errormongoDB;When we need to aggregate several failures and report them.mongoDBThe structure of the returned documents doesn't match what we expectedmongoDBA monad on top of m (which must be a MonadIO) that may access the database and may fail with a DB mongoDBRun action against database on server at other end of pipe. Use access mode for any reads and writes. Throw  in case of any error.mongoDBSame as  []mongoDBSame as mongoDBRun action with given mongoDB%List all databases residing on servermongoDBCurrent database in usemongoDB!Run action against given databasemongoDBAuthenticate with the current database (if server is running in secure mode). Return whether authentication was successful or not. Reauthentication is required for every new pipe. SCRAM-SHA-1 will be used for server versions 3.0+, MONGO-CR for lower versions.mongoDBAuthenticate with the current database, using the MongoDB-CR authentication mechanism (default in MongoDB server < 3.0)mongoDBIt should technically perform SASLprep, but the implementation is currently idmongoDBAuthenticate with the current database, using the SCRAM-SHA-1 authentication mechanism (default in MongoDB server >= 3.0)mongoDB%List all collections in this databasemongoDBAdd Javascript predicate to selector, in which case a document must match both selector and predicatemongoDB+Send write to server, and if write-mode is Safe- then include getLastError request and raise  if it reports an error.mongoDBInsert document into collection and return its "_id" value, which is created automatically if not suppliedmongoDBSame as  except don't return _idmongoDBInsert documents into collection and return their "_id" values, which are created automatically if not supplied. If a document fails to be inserted (eg. due to duplicate key) then remaining docs are aborted, and  LastError9 is set. An exception will be throw if any error occurs.mongoDBSame as  except don't return _idsmongoDBInsert documents into collection and return their "_id" values, which are created automatically if not supplied. If a document fails to be inserted (eg. due to duplicate key) then remaining docs are still inserted.mongoDBSame as  except don't return _idsmongoDBInsert documents into collection and return their "_id" values, which are created automatically if not suppliedmongoDBThis will fail if the list of documents is bigger than restrictionsmongoDB-Assign a unique value to _id field if missingmongoDBSave document to collection, meaning insert it if its new (has no "_id" field) or upsert it if its not new (has "_id" field)mongoDB7Replace first document in selection with given documentmongoDBReplace first document in selection with given document, or insert document if selection is emptymongoDBUpdate first document in selection with given document, or insert document if selection is emptymongoDB6Update all documents in selection using given modifiermongoDBUpdate first document in selection using updater document, unless ? option is supplied then update all documents in selection. If  option is supplied then treat updater as document and insert it if selection is empty.mongoDBBulk update operation. If one update fails it will not update the remaining documents. Current returned value is only a place holder. With mongodb server before 2.6 it will send update requests one by one. In order to receive error messages in versions under 2.6 you need to user confirmed writes. Otherwise even if the errors had place the list of errors will be empty and the result will be success. After 2.6 it will use bulk update feature in mongodb.mongoDBBulk update operation. If one update fails it will proceed with the remaining documents. With mongodb server before 2.6 it will send update requests one by one. In order to receive error messages in versions under 2.6 you need to use confirmed writes. Otherwise even if the errors had place the list of errors will be empty and the result will be success. After 2.6 it will use bulk update feature in mongodb.mongoDB!Delete all documents in selectionmongoDB"Delete first document in selectionmongoDBBulk delete operation. If one delete fails it will not delete the remaining documents. Current returned value is only a place holder. With mongodb server before 2.6 it will send delete requests one by one. After 2.6 it will use bulk delete feature in mongodb.mongoDBBulk delete operation. If one delete fails it will proceed with the remaining documents. Current returned value is only a place holder. With mongodb server before 2.6 it will send delete requests one by one. After 2.6 it will use bulk delete feature in mongodb.mongoDBSelects documents in collection that match selector. It uses no query options, projects all fields, does not skip any documents, does not limit result size, uses default batch size, does not sort, does not hint, and does not snapshot.mongoDB Fetch documents satisfying querymongoDB9Fetch documents satisfying query using the command "find"mongoDB)Fetch first document satisfying query or Nothing if none satisfy itmongoDBSame as  except throw  if none matchmongoDBDefault options used by .mongoDBRun the  findAndModify7 command as an update without an upsert and new set to True%. Return a single updated document (new option is set to True).See  for more options.mongoDBRun the  findAndModify$ command (allows more options than )mongoDB+Return performance stats of query executionmongoDBFetch number of documents satisfying query (including effect of skip and/or limit if present)mongoDB4Fetch distinct values of field in selected documentsmongoDBTranslate Query to Protocol.Query. If first arg is true then add special $explain attribute.mongoDBTranslate Query to Protocol.Query. If first arg is true then add special $explain attribute.mongoDBGiven batchSize and limit return P.qBatchSize and remaining limitmongoDB2Send notices and request and return promised batchmongoDB2Send notices and request and return promised batchmongoDB!Convert Reply to Batch or FailuremongoDB6Demand and wait for result, raise failure if exceptionmongoDBCreate new cursor. If you don't read all results then close it. Cursor will be closed automatically when all results are read from it or when eventually garbage collected.mongoDBReturn next batch of documents in query result, which will be empty if finished.mongoDB=Return next document in query result, or Nothing if finished.mongoDB1Return next N documents or less if end is reachedmongoDB*Return remaining documents in query resultmongoDB.Runs an aggregate and unpacks the result. See  0http://docs.mongodb.org/manual/core/aggregation/ for details.mongoDB.Runs an aggregate and unpacks the result. See  0http://docs.mongodb.org/manual/core/aggregation/ for details.mongoDB0Translate Group data into expected document formmongoDBExecute group query and return resulting aggregate value for each distinct keymongoDB4Translate MapReduce data into expected document formmongoDB+Translate MROut into expected document formmongoDBMapReduce on collection with given map and reduce functions. Remaining attributes are set to their defaults, which are stated in their comments.mongoDBRun MapReduce and return cursor of results. Error if map/reduce fails (because of bad Javascript)mongoDBRun MapReduce and return a MR result document containing stats and the results if Inlined. Error if the map/reduce failed (because of bad Javascript).mongoDB 'runCommand1 foo = runCommand [foo =: 1]mongoDBRun code on servermongoDBupdates~lmnopjki hdegfcab`uvwxyz{|}qrstUVZ\[^WXY]_TSRQKLMNOPJIFGH>?@ABCDE;<=/0123456789:.-,)*+%&'($# ~lmnopjki hdegfcab`uvwxyz{|}qrstUVZ\[^WXY]_TSRQKLMNOPJIFGH>?@ABCDE;<=/0123456789:.-,)*+%&'($# (c) Yuras Shumovich, 2016 Apache 2.0&Victor Denisov denisovenator@gmail.com experimentalPOSIX Safe-Inferred"tmongoDBConnect to mongodb using TLSmongoDBConnect to mongodb using TLS using provided TLS client parameters Safe-Inferred"mongoDBResult of isMaster command on host in replica set. Returned fields are: setName, ismaster, secondary, hosts, [primary]. primary only present when ismaster = falsemongoDBMaintains a connection (created on demand) to each server in the named replica setmongoDBRun command against admin database on server connected to pipe. Fail if connection fails.mongoDBDefault MongoDB port = 27017mongoDBHost on mongoDB;Display host as "host:port" TODO: Distinguish Service portmongoDBRead string "hostname:port" as Host hosthame (PortNumber port) or "hostname" as  host hostname= (default port). Fail if string does not match either syntax.mongoDBRead string "hostname:port" as Host hostname (PortNumber port) or "hostname" as  host hostname> (default port). Error if string does not match either syntax.mongoDB (and ) fails if it can't connect within this many seconds (default is 6 seconds). Use  (and ) if you want to ignore this global and specify your own timeout. Note, this timeout only applies to initial connection establishment, not when reading/writing to the connection.mongoDB:Connect to Host returning pipelined TCP connection. Throw - if connection refused or no response within .mongoDB:Connect to Host returning pipelined TCP connection. Throw  if connection refused or no response within given number of seconds.mongoDB&Get the name of connected replica set.mongoDBOpen connections (on demand) to servers in replica set. Supplied hosts is seed list. At least one of them must be a live member of the named replica set, otherwise fail. The value of  at the time of this call is the timeout used for future member connect attempts. To use your own value call  instead.mongoDBOpen connections (on demand) to servers in replica set. Supplied hosts is seed list. At least one of them must be a live member of the named replica set, otherwise fail. Supplied seconds timeout is used for connect attempts to members.mongoDBOpen secure connections (on demand) to servers in the replica set. Supplied hosts is seed list. At least one of them must be a live member of the named replica set, otherwise fail. The value of  at the time of this call is the timeout used for future member connect attempts. To use your own value call  instead.mongoDBOpen secure connections (on demand) to servers in replica set. Supplied hosts is seed list. At least one of them must be a live member of the named replica set, otherwise fail. Supplied seconds timeout is used for connect attempts to members.mongoDBOpen  non-secure connections (on demand) to servers in a replica set. The seedlist and replica set name is fetched from the SRV and TXT DNS records for the given hostname. The value of  at the time of this call is the timeout used for future member connect attempts. To use your own value call  instead.mongoDBOpen secure connections (on demand) to servers in a replica set. The seedlist and replica set name is fetched from the SRV and TXT DNS records for the given hostname. The value of  at the time of this call is the timeout used for future member connect attempts. To use your own value call  instead.The preferred connection method for cloud MongoDB providers. A typical connecting sequence is shown in the example below.Example  do pipe <- openReplicatSetSRV' "cluster#.xxxxx.yyyyy.zzz" is_auth <- access pipe master "admin" $ auth user_name password unless is_auth (throwIO $ userError "Authentication failed!")mongoDBOpen  non-secure connections (on demand) to servers in a replica set. The seedlist and replica set name is fetched from the SRV and TXT DNS records for the given hostname. Supplied seconds timeout is used for connect attempts to members.mongoDBOpen secure connections (on demand) to servers in a replica set. The seedlist and replica set name is fetched from the SRV and TXT DNS records for the given hostname. Supplied seconds timeout is used for connect attempts to members.mongoDB$Close all connections to replica setmongoDBReturn connection to current primary of replica set. Fail if no primary available.mongoDBReturn connection to a random secondary, or primary if no secondaries available.mongoDBReturn a connection to a host using a user-supplied sorting function, which sorts based on a tuple containing the host and a boolean indicating whether the host is primary.mongoDB4Primary of replica set or Nothing if there isn't onemongoDB.Non-arbiter, non-hidden members of replica setmongoDBFetch replica info from any server and update members accordinglymongoDBReturn new or existing connection to member of replica set. If pipe is already known for host it is given, but we still test if it is open. !" !" Safe-Inferred"%&&mongoDBAn operation indentifier.mongoDBThe available profiler levels.mongoDBNo data collection.mongoDBData collected only for slow operations. The slow operation time threshold is 100ms by default, but can be changed using .mongoDB"Data collected for all operations.mongoDBCache the indexes we create so repeatedly calling ensureIndex only hits database the first time. Clear cache every once in a while so if someone else deletes index we will recreate it on ensureIndex.mongoDBCreate collection with given options. You only need to call this to set options, otherwise a collection is created automatically on first use with no options.mongoDB,Rename first collection to second collectionmongoDB$Delete the given collection! Return True1 if collection existed (and was deleted); return False- if collection did not exist (and no action).mongoDBValidate the given collection, scanning the data and indexes for correctness. This operation takes a while.mongoDB-Spec of index of ordered keys on collection.  is generated from keys.  and  are False.mongoDBCreate index if we did not already create one. May be called repeatedly with practically no performance hit, because we remember if we already called this for the same index (although this memory gets wiped out every 15 minutes, in case another client drops the index and we want to create it again).mongoDBCreate index on the server. This call goes to the server every time.mongoDB+Remove the index from the given collection.mongoDB"Get all indexes on this collectionmongoDB#Drop all indexes on this collectionmongoDBinitialize cache and fork thread that clears it every 15 minutesmongoDB$Get index cache for current databasemongoDB&reset index cache for current databasemongoDB Fetch all users of this databasemongoDBAdd user with password with read-only access if the boolean argument is True, or read-write access if it's FalsemongoDBThe "admin" database, which stores user authorization and authentication data plus other system collections.mongoDBCopy database from given host to the server I am connected to. Fails and returns "ok" = 0< if we don't have permission to read from given server (use  in this case).mongoDBCopy database from given host to the server I am connected to. If username & password is supplied use them to read from given host.mongoDBDelete the given database!mongoDBAttempt to fix any corrupt records. This operation takes a while.mongoDBReturn a document containing the parameters used to compile the server instance.mongoDB*Return the version of the server instance.mongoDB8Return some storage statistics for the given collection.mongoDBReturn the total uncompressed size (in bytes) in memory of all records in the given collection. Does not include indexes.mongoDBReturn the total bytes allocated to the given collection. Does not include indexes.mongoDB:The total size in bytes of all indexes in this collection.mongoDBGet the profiler level.mongoDBSet the profiler level, and optionally the slow operation time threshold (in milliseconds).mongoDB6Return some storage statistics for the given database.mongoDB7See currently running operation on the database, if anymongoDB/Terminate the operation specified by the given .mongoDBReturn a document with an overview of the state of the database.22  Safe-Inferred!"cSUVZ\[^WXY]_>?@ABCDE;<=abih R#~lmnopjkdegf`uvwxyz{|}qrstTQKLMNOPJIFGH/0123456789:.-,)*+%&'($  Safe-Inferred"i mongoDBFiles are stored in "buckets". You open a bucket with openDefaultBucket or openBucketmongoDB The default chunk size is 256 kBmongoDBOpen the default  (named "fs")mongoDBOpen a mongoDBGet a chunk of a filemongoDBFind files in the bucketmongoDBFind one file in the bucketmongoDBFetch one file in the bucketmongoDBDelete files in the bucketmongoDBPut a chunk in the bucketmongoDB%A producer for the contents of a filemongoDBA consumer that creates a file in the bucket and puts all consumed data in it               ! " # # $ % & ' ( )  *+,-./01234567789:;<=>?@ABCDEEFGHIJKLLMNOPQRSTUVWXYZZ[\]^_`abcdefgheijklmnoopqrsstuvvwxyz{|}~                                       N                                        Z                              N     %mongoDB-2.7.1.3-YyFHzJz9gN7GyILb7DzxNDatabase.MongoDB.ConnectionDatabase.MongoDB.TransportDatabase.MongoDB.QueryDatabase.MongoDB.Transport.TlsDatabase.MongoDB.AdminDatabase.MongoDB.GridFSmongoDB!Database.MongoDB.Internal.NetworkDatabase.MongoDB.Internal.Util"Database.MongoDB.Internal.ProtocolDatabase.MongoDBHostPortID PortNumber UnixSocket Transportreadwriteflushclose fromHandlePasswordUsername QueryOptionTailableCursorNoCursorTimeout AwaitDataPartial DeleteOption SingleRemove UpdateOptionUpsert MultiUpdatePipe ServerDataisMasterminWireVersionmaxWireVersionmaxMessageSizeBytesmaxBsonObjectSizemaxWriteBatchSizeisClosedCommandMRResultMRMergeReplaceMergeReduceMROutInlineOutput FinalizeFun ReduceFunMapFun MapReducerCollrMaprReducerSelectrSortrLimitrOut rFinalizerScoperVerboseGroupKeyKeyKeyFGroupgCollgKeygReducegInitialgCond gFinalizeAggregateConfig allowDiskUsePipelineCursorFindAndModifyOpts FamRemove FamUpdate famUpdatefamNew famUpsert BatchSizeOrderLimit ProjectorQueryoptions selectionprojectskiplimitsortsnapshot batchSizehintModifierSelectselectSelector Selectionselectorcoll CollectionDatabaseHasMongoContext mongoContext MongoContext mongoPipemongoAccessMode mongoDatabaseUpserted upsertedIndex upsertedId WriteResultfailednMatched nModifiednRemovedupserted writeErrorswriteConcernErrors GetLastError AccessMode ReadStaleOkUnconfirmedWrites ConfirmWrites ErrorCodeFailureConnectionFailureCursorNotFoundFailure QueryFailure WriteFailureWriteConcernFailure DocNotFoundAggregateFailureCompoundFailureProtocolFailureActionaccessmasterslaveOk accessModeliftDB allDatabases thisDatabaseuseDbauth authMongoCR authSCRAMSHA1authSCRAMSHA256retrieveServerDataallCollectionswhereJSinsertinsert_ insertMany insertMany_ insertAll insertAll_savereplacerepsertupsertmodify updateMany updateAlldelete deleteOne deleteMany deleteAllfind findCommandfindOnefetchdefFamUpdateOpts findAndModifyfindAndModifyOptsexplaincountdistinct nextBatchnextnextNrest closeCursorisCursorClosed aggregateaggregateCursorgroup mapReducerunMRrunMR' runCommand runCommand1eval$fResultEither$fHasMongoContextMongoContext$fExceptionFailure$fResultWriteResult$fSelectSelection $fSelectQuery$fDefaultAggregateConfig$fShowMapReduce $fEqMapReduce $fShowMROut $fEqMROut $fShowMRMerge $fEqMRMerge $fShowGroup $fEqGroup$fShowGroupKey $fEqGroupKey$fShowAggregateConfig$fShowFindAndModifyOpts $fShowQuery $fEqQuery$fShowReadMode $fEqReadMode$fShowWriteMode $fEqWriteMode$fShowWriteResult $fShowFailure $fEqFailure$fShowSelection $fEqSelection$fShowHashAlgorithm$fShowUpserted$fShowAccessModeconnectconnectWithTlsParams ReplicaSetReplicaSetNameSecs defaultPorthost showHostPort readHostPortM readHostPortglobalConnectTimeoutconnect' replSetNameopenReplicaSetopenReplicaSet'openReplicaSetTLSopenReplicaSetTLS'openReplicaSetSRVopenReplicaSetSRV'openReplicaSetSRV''openReplicaSetSRV'''closeReplicaSetprimary secondaryOk routedHostOpNumMilliSecProfilingLevelOffSlowAllIndexiColliKeyiNameiUnique iDropDupsiExpireAfterSeconds IndexNameCollectionOptionCapped MaxByteSizeMaxItemscreateCollectionrenameCollectiondropCollectionvalidateCollectionindex ensureIndex createIndex dropIndex getIndexes dropIndexesallUsersaddUser removeUseradmin cloneDatabase copyDatabase dropDatabaserepairDatabaseserverBuildInfo serverVersioncollectionStatsdataSize storageSizetotalIndexSize totalSizegetProfilingLevelsetProfilingLeveldbStats currentOpkillOp serverStatus$fShowProfilingLevel$fEnumProfilingLevel$fEqProfilingLevel $fShowIndex $fEqIndex$fShowCollectionOption$fEqCollectionOptionFilebucketdocumentBucketfileschunksopenDefaultBucket openBucketfindFile findOneFile fetchFile deleteFile sourceFilesinkFilelookupReplicaSetNamelookupSeedList&network-3.1.4.0-E6ben9cggp0H75wAfZg8fHNetwork.Socket.InfoHostName connectTo mergesortMshuffleloop untilSuccess untilSuccess'liftIOE updateAssocsbitOr<.>true1 byteStringHexbyteHex mergesortM' merge_pairsMmergeMwrapwhenJustsplitDotbytestring-0.11.5.2Data.ByteStringnullCursorNotFound QueryError AwaitCapableReplyRequest rCursorIdSlaveOKqSkip qBatchSize qSelector qProjectorChecksumPresent MoreToComeExhaustAllowed KeepGoingNotice RequestIdFullCollectionResponseMessagevStream responseQueueforkUnmaskedFinally newPipelinelistenpsendcallpcall pcallOpMsgnewPipe newPipeWithsend sendOpMsg callOpMsg writeMessagewriteOpMsgMessage readMessage genRequestId putHeaderputOpMsgHeader getHeaderInsertUpdateDelete KillCursorsiFullCollectioniOptions iDocumentsuFullCollectionuOptions uSelectoruUpdaterdFullCollectiondOptions dSelector kCursorIds InsertOptionCursorIdGetMoreqFullCollectionqOptionsgFullCollection gCursorId gBatchSize mDatabasemParamsCmdNcKcReqKillC killCursorkFullCollection ReplyOpMsgflagBitssectionsrResponseFlags rStartingFrom rDocumentschecksum ResponseFlagFlagBitNoncepwHashpwKeyfinished listenThread serverDataputOpMsgbitOpMsgBatch DelayedBatchFreshStaleOk NoConfirmConfirmbaseGHC.Errerrorsaslprep authSCRAMWithinsert' insertBlockassignIdupdatequery queryRequestqueryRequestOpMsgbatchSizeRemainingLimitrequest requestOpMsg fromReplyfulfill newCursor groupDocument mrDocumentmrOutDoc ReplicaInfo adminCommandGHC.IO.ExceptionIOError statedPrimary possibleHosts updateMembers connection DbIndexCache dbIndexCachefetchIndexCacheresetIndexCache#bson-0.4.0.1-4Z6HENk1SnK5UflIKf7uB8 Data.BsonSymbolBinaryObjectIdOid MinMaxKeyMinKeyMaxKey MongoStamp JavascriptRegex UserDefinedMD5UUIDFunctionValvalvalListvalMaybecast' cast'List cast'MaybeValueBoolFloatStringArrayNullInt32Int64FunBinDocUuidMd5UserDefObjIdUTCRegExJavaScrSymStampMinMaxLabelField:=valuelabelDocumentlookuplookcast timestampmerge showHexLen!?valueAtatincludeexclude=:=?fvaltyped typeOfVal genObjectIddefaultChunkSizegetChunkputChunk