Poco::MongoDB

class Database

File Information

Library: MongoDB
Package: MongoDB
Header: Poco/MongoDB/Database.h

Description

Database is a helper class for creating requests. MongoDB works with collection names and uses the part before the first dot as the name of the database.

Member Summary

Member Functions: authCR, authSCRAM, authenticate, count, createCommand, createCountRequest, createDeleteRequest, createInsertRequest, createQueryRequest, createUpdateRequest, ensureIndex, getLastError, getLastErrorDoc

Constructors

Database

explicit Database(
    const std::string & name
);

Creates a Database for the database with the given name.

Destructor

~Database virtual

virtual ~Database();

Destroys the Database.

Member Functions

authenticate

bool authenticate(
    Connection & connection,
    const std::string & username,
    const std::string & password,
    const std::string & method = AUTH_SCRAM_SHA1
);

Authenticates against the database using the given connection, username and password, as well as authentication method.

"MONGODB-CR" (default prior to MongoDB 3.0) and "SCRAM-SHA-1" (default starting in 3.0) are the only supported authentication methods.

Returns true if authentication was successful, otherwise false.

May throw a Poco::ProtocolException if authentication fails for a reason other than invalid credentials.

count

Int64 count(
    Connection & connection,
    const std::string & collectionName
) const;

Sends a count request for the given collection to MongoDB.

If the command fails, -1 is returned.

createCommand inline

Poco::SharedPtr < Poco::MongoDB::QueryRequest > createCommand() const;

Creates a QueryRequest for a command.

createCountRequest

Poco::SharedPtr < Poco::MongoDB::QueryRequest > createCountRequest(
    const std::string & collectionName
) const;

Creates a QueryRequest to count the given collection. The collectionname must not contain the database name.

createDeleteRequest inline

Poco::SharedPtr < Poco::MongoDB::DeleteRequest > createDeleteRequest(
    const std::string & collectionName
) const;

Creates a DeleteRequest to delete documents in the given collection. The collectionname must not contain the database name.

createInsertRequest inline

Poco::SharedPtr < Poco::MongoDB::InsertRequest > createInsertRequest(
    const std::string & collectionName
) const;

Creates an InsertRequest to insert new documents in the given collection. The collectionname must not contain the database name.

createQueryRequest inline

Poco::SharedPtr < Poco::MongoDB::QueryRequest > createQueryRequest(
    const std::string & collectionName
) const;

Creates a QueryRequest. The collectionname must not contain the database name.

createUpdateRequest inline

Poco::SharedPtr < Poco::MongoDB::UpdateRequest > createUpdateRequest(
    const std::string & collectionName
) const;

Creates an UpdateRequest. The collectionname must not contain the database name.

ensureIndex

Poco::MongoDB::Document::Ptr ensureIndex(
    Connection & connection,
    const std::string & collection,
    const std::string & indexName,
    Poco::MongoDB::Document::Ptr keys,
    bool unique = false,
    bool background = false,
    int version = 0,
    int ttl = 0
);

Creates an index. The document returned is the result of a getLastError call. For more info look at the ensureIndex information on the MongoDB website.

getLastError

std::string getLastError(
    Connection & connection
) const;

Sends the getLastError command to the database and returns the err element from the error document. When err is null, an empty string is returned.

getLastErrorDoc

Document::Ptr getLastErrorDoc(
    Connection & connection
) const;

Sends the getLastError command to the database and returns the error document.

authCR protected

bool authCR(
    Connection & connection,
    const std::string & username,
    const std::string & password
);

authSCRAM protected

bool authSCRAM(
    Connection & connection,
    const std::string & username,
    const std::string & password
);

Variables

AUTH_MONGODB_CR static

static const std::string AUTH_MONGODB_CR;

Default authentication mechanism prior to MongoDB 3.0.

AUTH_SCRAM_SHA1 static

static const std::string AUTH_SCRAM_SHA1;

Default authentication mechanism for MongoDB 3.0.

Securely control IoT edge devices from anywhere   Connect a Device