var searchIndex = {}; searchIndex["mongo_driver"] = {"doc":"This driver is a thin wrapper around the production-ready [Mongo C driver](https://github.com/mongodb/mongo-c-driver).","items":[[3,"BsoncError","mongo_driver","Error in the underlying C driver.",null,null],[3,"InvalidParamsError","","Invalid params error that can be reported by the underlying C driver.",null,null],[3,"CommandAndFindOptions","","Options to configure both command and find operations.",null,null],[12,"query_flags","","Flags to use",0,null],[12,"skip","","Number of documents to skip, zero to ignore",0,null],[12,"limit","","Max number of documents to return, zero to ignore",0,null],[12,"batch_size","","Number of documents in each batch, zero to ignore (default is 100)",0,null],[12,"fields","","Fields to return, not all commands support this option",0,null],[12,"read_prefs","","Read prefs to use",0,null],[4,"MongoError","","Wrapper for all errors that can occur in the driver.",null,null],[13,"Bsonc","","Error in the underlying C driver.",1,null],[13,"Decoder","","Error decoding Bson.",1,null],[13,"Encoder","","Error encoding Bson.",1,null],[13,"ValueAccessError","","Error accessing a value on a Bson document.",1,null],[13,"InvalidParams","","Invalid params error that can be reported by the underlying C driver.",1,null],[4,"MongoErrorDomain","","MongoDB error domain.",null,null],[13,"Blank","","",2,null],[13,"Client","","",2,null],[13,"Stream","","",2,null],[13,"Protocol","","",2,null],[13,"Cursor","","",2,null],[13,"Query","","",2,null],[13,"Insert","","",2,null],[13,"Sasl","","",2,null],[13,"Bson","","",2,null],[13,"Matcher","","",2,null],[13,"Namespace","","",2,null],[13,"Command","","",2,null],[13,"Collection","","",2,null],[13,"Gridfs","","",2,null],[13,"Scram","","",2,null],[13,"Unknown","","",2,null],[4,"MongoErrorCode","","MongoDB error code.",null,null],[13,"Blank","","",3,null],[13,"StreamInvalidType","","",3,null],[13,"StreamInvalidState","","",3,null],[13,"StreamNameResolution","","",3,null],[13,"StreamSocket","","",3,null],[13,"StreamConnect","","",3,null],[13,"StreamNotEstablished","","",3,null],[13,"ClientNotReady","","",3,null],[13,"ClientTooBig","","",3,null],[13,"ClientTooSmall","","",3,null],[13,"ClientGetnonce","","",3,null],[13,"ClientAuthenticate","","",3,null],[13,"ClientNoAcceptablePeer","","",3,null],[13,"ClientInExhaust","","",3,null],[13,"ProtocolInvalidReply","","",3,null],[13,"ProtocolBadWireVersion","","",3,null],[13,"CursorInvalidCursor","","",3,null],[13,"QueryFailure","","",3,null],[13,"BsonInvalid","","",3,null],[13,"MatcherInvalid","","",3,null],[13,"NamespaceInvalid","","",3,null],[13,"NamespaceInvalidFilterType","","",3,null],[13,"CommandInvalidArg","","",3,null],[13,"CollectionInsertFailed","","",3,null],[13,"CollectionUpdateFailed","","",3,null],[13,"CollectionDeleteFailed","","",3,null],[13,"CollectionDoesNotExist","","",3,null],[13,"GridfsInvalidFilename","","",3,null],[13,"ScramNotDone","","",3,null],[13,"ScramProtocolError","","",3,null],[13,"QueryCommandNotFound","","",3,null],[13,"QueryNotTailable","","",3,null],[13,"Unknown","","",3,null],[0,"client","","Client to access a MongoDB node, replica set or sharded cluster.",null,null],[3,"ClientPool","mongo_driver::client","Pool that allows usage of clients out of a single pool from multiple threads.",null,null],[3,"SslOptions","","Optional SSL configuration for a `ClientPool`.",null,null],[3,"Client","","Client that provides access to a MongoDB MongoDB node, replica-set, or sharded-cluster.",null,null],[3,"Uri","","Abstraction on top of MongoDB connection URI format.",null,null],[11,"new","","Create a new ClientPool with that can provide clients pointing to the specified uri.\nThe pool will connect via SSL if you add `?ssl=true` to the uri. You can optionally pass\nin SSL options to configure SSL certificate usage and so on.",4,{"inputs":[{"name":"uri"},{"name":"option"}],"output":{"name":"clientpool"}}],[11,"get_uri","","Get a reference to this pool's Uri.",4,null],[11,"pop","","Retrieve a client from the client pool, possibly blocking until one is available.",4,null],[11,"fmt","","",4,null],[11,"drop","","",4,null],[11,"new","","Create a new ssl options instance that can be used to configured\na `ClientPool`.",5,{"inputs":[{"name":"option"},{"name":"option"},{"name":"option"},{"name":"option"},{"name":"option"},{"name":"bool"}],"output":{"name":"result"}}],[11,"clone","","",5,null],[11,"get_collection","","Borrow a collection",6,null],[11,"take_collection","","Take a collection, client is owned by the collection so the collection can easily\nbe passed around",6,null],[11,"get_database","","Borrow a database",6,null],[11,"take_database","","Take a database, client is owned by the database so the database can easily\nbe passed around",6,null],[11,"get_server_status","","Queries the server for the current server status, returns a document with this information.",6,null],[11,"drop","","",6,null],[11,"new","","Parses a string containing a MongoDB style URI connection string.",7,{"inputs":[{"name":"t"}],"output":{"name":"option"}}],[11,"as_str","","",7,null],[11,"get_database","","",7,null],[11,"eq","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"drop","","",7,null],[0,"collection","mongo_driver","Access to a MongoDB collection.",null,null],[3,"Collection","mongo_driver::collection","Provides access to a collection for most CRUD operations, I.e. insert, update, delete, find, etc.",null,null],[3,"AggregateOptions","","Options to configure an aggregate operation.",null,null],[12,"query_flags","","Flags to use",8,null],[12,"options","","Options for the aggregate",8,null],[12,"read_prefs","","Read prefs to use",8,null],[3,"BulkOperationOptions","","Options to configure a bulk operation.",null,null],[12,"ordered","","If the operations must be performed in order",9,null],[12,"write_concern","","`WriteConcern` to use",9,null],[3,"FindAndModifyOptions","","Options to configure a find and modify operation.",null,null],[12,"sort","","Sort order for the query",10,null],[12,"new","","If the new version of the document should be returned",10,null],[12,"fields","","The fields to return",10,null],[3,"CountOptions","","Options to configure a count operation.",null,null],[12,"query_flags","","The query flags to use",11,null],[12,"skip","","Number of results to skip, zero to ignore",11,null],[12,"limit","","Limit to the number of results, zero to ignore",11,null],[12,"opts","","Optional extra keys to add to the count",11,null],[12,"read_prefs","","Read prefs to use",11,null],[3,"InsertOptions","","Options to configure an insert operation.",null,null],[12,"insert_flags","","Flags to use",12,null],[12,"write_concern","","Write concern to use",12,null],[3,"RemoveOptions","","Options to configure a remove operation.",null,null],[12,"remove_flags","","Flags to use",13,null],[12,"write_concern","","Write concern to use",13,null],[3,"UpdateOptions","","Options to configure an update operation.",null,null],[12,"update_flags","","Flags to use",14,null],[12,"write_concern","","Write concern to use",14,null],[3,"TailOptions","","Options to configure a tailing query.",null,null],[12,"wait_duration","","Duration to wait before checking for new results",15,null],[12,"max_retries","","Maximum number of retries if there is an error",15,null],[3,"BulkOperation","","Provides an abstraction for submitting multiple write operations as a single batch.",null,null],[4,"FindAndModifyOperation","","Possible find and modify operations.",null,null],[13,"Update","","Update the matching documents",16,null],[13,"Upsert","","Upsert the matching documents",16,null],[13,"Remove","","Remove the matching documents",16,null],[11,"default","","Default options that are used if no options are specified\nwhen aggregating.",8,{"inputs":[],"output":{"name":"aggregateoptions"}}],[11,"default","","Default options that are used if no options are specified\nwhen creating a `BulkOperation`.",9,{"inputs":[],"output":{"name":"bulkoperationoptions"}}],[11,"default","","Default options used if none are provided.",10,{"inputs":[],"output":{"name":"findandmodifyoptions"}}],[11,"default","","Default options used if none are provided.",11,{"inputs":[],"output":{"name":"countoptions"}}],[11,"default","","Default options used if none are provided.",12,{"inputs":[],"output":{"name":"insertoptions"}}],[11,"default","","Default options used if none are provided.",13,{"inputs":[],"output":{"name":"removeoptions"}}],[11,"default","","Default options used if none are provided.",14,{"inputs":[],"output":{"name":"updateoptions"}}],[11,"default","","Default options used if none are provided.",15,{"inputs":[],"output":{"name":"tailoptions"}}],[11,"aggregate","","Execute an aggregation query on the collection.\nThe bson 'pipeline' is not validated, simply passed along as appropriate to the server.\nAs such, compatibility and errors should be validated in the appropriate server documentation.",17,null],[11,"command","","Execute a command on the collection.\nThis is performed lazily and therefore requires calling `next` on the resulting cursor.",17,null],[11,"command_simple","","Simplified version of `command` that returns the first document immediately.",17,null],[11,"count","","Execute a count query on the underlying collection.\nThe `query` bson is not validated, simply passed along to the server. As such, compatibility and errors should be validated in the appropriate server documentation.",17,null],[11,"create_bulk_operation","","Create a bulk operation. After creating call various functions such as `update`,\n`insert` and others. When calling `execute` these operations will be executed in\nbatches.",17,null],[11,"drop","","Request that a collection be dropped, including all indexes associated with the collection.",17,null],[11,"find","","Execute a query on the underlying collection.\nIf no options are necessary, query can simply contain a query such as `{a:1}`.\nIf you would like to specify options such as a sort order, the query must be placed inside of `{"$query": {}}`\nas specified by the server documentation. See the example below for how to properly specify additional options to query.",17,null],[11,"find_and_modify","","Update and return an object.\nThis is a thin wrapper around the findAndModify command. Pass in\nan operation that either updates, upserts or removes.",17,null],[11,"get_name","","Get the name of the collection.",17,null],[11,"insert","","Insert document into collection.\nIf no `_id` element is found in document, then an id will be generated locally and added to the document.",17,null],[11,"remove","","Remove documents in the given collection that match selector.\nThe bson `selector` is not validated, simply passed along as appropriate to the server. As such, compatibility and errors should be validated in the appropriate server documentation.\n If you want to limit deletes to a single document, add the `SingleRemove` flag.",17,null],[11,"save","","Save a document into the collection. If the document has an `_id` field it will be updated.\nOtherwise it will be inserted.",17,null],[11,"update","","This function updates documents in collection that match selector.\nBy default, updates only a single document. Add `MultiUpdate` flag to update multiple documents.",17,null],[11,"tail","","Tails a query",17,null],[11,"drop","","",17,null],[11,"insert","","Queue an insert of a single document into a bulk operation.\nThe insert is not performed until `execute` is called.",18,null],[11,"remove","","Queue removal of all documents matching the provided selector into a bulk operation.\nThe removal is not performed until `execute` is called.",18,null],[11,"remove_one","","Queue removal of a single document into a bulk operation.\nThe removal is not performed until `execute` is called.",18,null],[11,"replace_one","","Queue replacement of a single document into a bulk operation.\nThe replacement is not performed until `execute` is called.",18,null],[11,"update_one","","Queue update of a single documents into a bulk operation.\nThe update is not performed until `execute` is called.",18,null],[11,"update","","Queue update of multiple documents into a bulk operation.\nThe update is not performed until `execute` is called.",18,null],[11,"execute","","This function executes all operations queued into this bulk operation.\nIf ordered was set true, forward progress will be stopped upon the first error.",18,null],[11,"drop","","",18,null],[0,"cursor","mongo_driver","Access to a MongoDB query cursor.",null,null],[3,"Cursor","mongo_driver::cursor","Provides access to a MongoDB cursor for a normal operation.",null,null],[3,"TailingCursor","","Cursor that will reconnect and resume tailing a collection\nat the right point if the connection fails.",null,null],[11,"next","","",19,null],[11,"drop","","",19,null],[11,"next","","",20,null],[0,"database","mongo_driver","Access to a MongoDB database.",null,null],[3,"Database","mongo_driver::database","Provides access to a MongoDB database.",null,null],[11,"new","","",21,null],[11,"command","","Execute a command on the database.\nThis is performed lazily and therefore requires calling `next` on the resulting cursor.",21,null],[11,"command_simple","","Simplified version of `command` that returns the first document immediately.",21,null],[11,"create_collection","","Create a new collection in this database.",21,null],[11,"get_collection","","Borrow a collection",21,null],[11,"take_collection","","Take a collection, database is owned by the collection so the collection can easily\nbe passed around",21,null],[11,"get_name","","Get the name of this database.",21,null],[11,"drop","","",21,null],[0,"flags","mongo_driver","Flags to configure various MongoDB operations.",null,null],[3,"Flags","mongo_driver::flags","Structure to hold flags for various flag types",null,null],[4,"InsertFlag","","Flags for insert operations\nSee: http://api.mongodb.org/c/current/mongoc_insert_flags_t.html",null,null],[13,"ContinueOnError","","",22,null],[13,"NoValidate","","",22,null],[4,"QueryFlag","","Flags for query operations\nSee: http://api.mongodb.org/c/current/mongoc_query_flags_t.html",null,null],[13,"TailableCursor","","",23,null],[13,"SlaveOk","","",23,null],[13,"OplogReplay","","",23,null],[13,"NoCursorTimeout","","",23,null],[13,"AwaitData","","",23,null],[13,"Exhaust","","",23,null],[13,"Partial","","",23,null],[4,"RemoveFlag","","Flags for deletion operations\nSee: http://api.mongodb.org/c/1.1.8/mongoc_remove_flags_t.html",null,null],[13,"SingleRemove","","",24,null],[4,"UpdateFlag","","Flags for update operations\nSee: http://api.mongodb.org/c/current/mongoc_update_flags_t.html",null,null],[13,"Upsert","","",25,null],[13,"MultiUpdate","","",25,null],[8,"FlagsValue","","To provide the combined value of all flags.",null,null],[10,"flags","","",26,null],[11,"new","","Creare a new empty flags instance",27,{"inputs":[],"output":{"name":"flags"}}],[11,"add","","Add a flag to this instance",27,null],[11,"partial_cmp","","",22,null],[11,"cmp","","",22,null],[11,"eq","","",22,null],[11,"flags","","",27,null],[11,"partial_cmp","","",23,null],[11,"cmp","","",23,null],[11,"eq","","",23,null],[11,"flags","","",27,null],[11,"partial_cmp","","",24,null],[11,"cmp","","",24,null],[11,"eq","","",24,null],[11,"flags","","",27,null],[11,"partial_cmp","","",25,null],[11,"cmp","","",25,null],[11,"eq","","",25,null],[11,"flags","","",27,null],[0,"read_prefs","mongo_driver","Abstraction on top of the MongoDB connection read prefences.",null,null],[3,"ReadPrefs","mongo_driver::read_prefs","Provides an abstraction on top of the MongoDB connection read prefences.",null,null],[4,"ReadMode","","Describes how reads should be dispatched.",null,null],[13,"Primary","","Default mode. All operations read from the current replica set primary.",28,null],[13,"Secondary","","All operations read from among the nearest secondary members of the replica set.",28,null],[13,"PrimaryPreferred","","In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.",28,null],[13,"SecondaryPreferred","","In most situations, operations read from among the nearest secondary members, but if no secondaries are available, operations read from the primary.",28,null],[13,"Nearest","","Operations read from among the nearest members of the replica set, irrespective of the member’s type.",28,null],[11,"new","","Create a new empty read prefs.",29,{"inputs":[{"name":"readmode"}],"output":{"name":"readprefs"}}],[11,"default","","Get a new instance of the default read pref.",29,{"inputs":[],"output":{"name":"readprefs"}}],[11,"drop","","",29,null],[0,"write_concern","mongo_driver","Abstraction on top of the MongoDB connection write concern.",null,null],[3,"WriteConcern","mongo_driver::write_concern","This tells the driver what level of acknowledgment to await from the server.\nThe default, `Default`, is right for the great majority of applications.",null,null],[4,"WriteConcernLevel","","Possible write concern levels, only default is supported at the moment.",null,null],[13,"Default","","By default, writes block awaiting acknowledgment from MongoDB. Acknowledged write concern allows clients to catch network, duplicate key, and other errors.",30,null],[11,"default","","Get the default write concern",31,{"inputs":[],"output":{"name":"writeconcern"}}],[11,"new","","Create a new write concern",31,{"inputs":[{"name":"writeconcernlevel"}],"output":{"name":"writeconcern"}}],[11,"drop","","",31,null],[11,"fmt","mongo_driver","",1,null],[11,"fmt","","",1,null],[11,"description","","",1,null],[11,"cause","","",1,null],[11,"from","","",1,{"inputs":[{"name":"decodererror"}],"output":{"name":"mongoerror"}}],[11,"from","","",1,{"inputs":[{"name":"encodererror"}],"output":{"name":"mongoerror"}}],[11,"from","","",1,{"inputs":[{"name":"valueaccesserror"}],"output":{"name":"mongoerror"}}],[11,"eq","","",2,null],[11,"fmt","","",2,null],[11,"eq","","",3,null],[11,"fmt","","",3,null],[11,"empty","","",32,{"inputs":[],"output":{"name":"bsoncerror"}}],[11,"is_empty","","Wether the error has content.",32,null],[11,"domain","","The error's domain.",32,null],[11,"code","","The error's code.",32,null],[11,"get_message","","The error's message.",32,null],[11,"fmt","","",32,null],[11,"fmt","","",32,null],[11,"description","","",32,null],[11,"from","","",1,{"inputs":[{"name":"bsoncerror"}],"output":{"name":"mongoerror"}}],[11,"fmt","","",33,null],[11,"fmt","","",33,null],[11,"description","","",33,null],[11,"from","","",1,{"inputs":[{"name":"invalidparamserror"}],"output":{"name":"mongoerror"}}],[6,"Result","","Result that's used in all functions that perform operations on the database.",null,null],[11,"default","","Default options used if none are provided.",0,{"inputs":[],"output":{"name":"commandandfindoptions"}}],[11,"with_fields","","",0,{"inputs":[{"name":"document"}],"output":{"name":"commandandfindoptions"}}]],"paths":[[3,"CommandAndFindOptions"],[4,"MongoError"],[4,"MongoErrorDomain"],[4,"MongoErrorCode"],[3,"ClientPool"],[3,"SslOptions"],[3,"Client"],[3,"Uri"],[3,"AggregateOptions"],[3,"BulkOperationOptions"],[3,"FindAndModifyOptions"],[3,"CountOptions"],[3,"InsertOptions"],[3,"RemoveOptions"],[3,"UpdateOptions"],[3,"TailOptions"],[4,"FindAndModifyOperation"],[3,"Collection"],[3,"BulkOperation"],[3,"Cursor"],[3,"TailingCursor"],[3,"Database"],[4,"InsertFlag"],[4,"QueryFlag"],[4,"RemoveFlag"],[4,"UpdateFlag"],[8,"FlagsValue"],[3,"Flags"],[4,"ReadMode"],[3,"ReadPrefs"],[4,"WriteConcernLevel"],[3,"WriteConcern"],[3,"BsoncError"],[3,"InvalidParamsError"]]}; initSearch(searchIndex);