BSON, short for Binary JSON, is a binary-encoded serialization of JSON-like documents.
Like JSON, BSON supports the embedding of documents and arrays within other documents
and arrays. BSON also contains extensions that allow representation of data types that
are not part of the JSON spec. For example, BSON has a datetime type and a binary data type.
This is the main entry point for the API. A Client is used to connect to a MongoDB cluster.
By default, it will monitor the topology of the cluster, keeping track of any changes, such
as servers being added or removed.
A MongoDB client session. This struct represents a logical session used for ordering sequential
operations. To create a ClientSession, call start_session on a Client.
Collection is the client-side abstraction of a MongoDB Collection. It can be used to
perform collection-level operations such as CRUD operations. A Collection can be obtained
through a Database by calling either
Database::collection or
Database::collection_with_options.
A Cursor streams the result of a query. When a query is made, the returned Cursor will
contain the first batch of results from the server; the individual results will then be returned
as the Cursor is iterated. When the batch is exhausted and if there are more results, the
Cursor will fetch the next batch of documents, and so forth until the results are exhausted.
Note that because of this batching, additional network I/O may occur on any given call to
next. Because of this, a Cursor iterates over Result<T> items rather than
simply T items.
Database is the client-side abstraction of a MongoDB database. It can be used to perform
database-level operations or to obtain handles to specific collections within the database. A
Database can only be obtained through a Client by calling either
Client::database or
Client::database_with_options.