# Poco

# namespace MongoDB

## Overview

Classes: Array, BSONReader, BSONTimestamp, BSONWriter, Binary, ConcreteElement, Connection, Cursor, Database, DeleteRequest, Document, Element, ElementFindByName, ElementTraits, GetMoreRequest, InsertRequest, JavaScriptCode, KillCursorsRequest, Message, MessageHeader, ObjectId, PooledConnection, QueryRequest, RegularExpression, ReplicaSet, RequestMessage, ResponseMessage, UpdateRequest

Types Aliases: ElementSet, NullValue

## Classes

### class Array

This class represents a BSON Array.

### class BSONReader

Class for reading BSON using a Poco::BinaryReader

### struct BSONTimestamp

### class BSONWriter

Class for writing BSON using a Poco::BinaryWriter.

### class Binary

Implements BSON Binary.

### class ConcreteElement

### class Connection

Represents a connection to a MongoDB server using the MongoDB wire protocol.

### class Cursor

Cursor is an helper class for querying multiple documents.

### class Database

Database is a helper class for creating requests.

### class DeleteRequest

A DeleteRequest is used to delete one ore more documents from a database.

### class Document

Represents a MongoDB (BSON) document.

### class Element

Represents an Element of a Document or an Array.

### class ElementFindByName

### struct ElementTraits

### class GetMoreRequest

A GetMoreRequest is used to query the database for more documents in a collection after a query request is send (OP_GETMORE).

### class InsertRequest

A request for inserting one or more documents to the database (OP_INSERT).

### class JavaScriptCode

Represents JavaScript type in BSON.

### class KillCursorsRequest

Class for creating an OP_KILL_CURSORS client request.

### class Message

Base class for all messages send or retrieved from MongoDB server.

### class MessageHeader

Represents the message header which is always prepended to a MongoDB request or response message.

### class ObjectId

ObjectId is a 12-byte BSON type, constructed using: - a 4-byte timestamp, - a 3-byte machine identifier, - a 2-byte process id, and - a 3-byte counter, starting with a random value.

### class PooledConnection

Helper class for borrowing and returning a connection automatically from a pool.

### class QueryRequest

A request to query documents in a MongoDB database using an OP_QUERY request.

### class RegularExpression

Represents a regular expression in BSON format.

### class ReplicaSet

Class for working with a MongoDB replica set.

### class RequestMessage

Base class for a request sent to the MongoDB server.

### class ResponseMessage

This class represents a response (OP_REPLY) from MongoDB.

### class UpdateRequest

This request is used to update a document in a database using the OP_UPDATE client request.

## Types Aliases

### ElementSet

using ElementSet = std::list < Element::Ptr >;

### NullValue

using NullValue = Nullable < unsigned char >;