diff --git a/MongoDB/include/Poco/MongoDB/Database.h b/MongoDB/include/Poco/MongoDB/Database.h index 9da958ce2..9b3c9f1f5 100644 --- a/MongoDB/include/Poco/MongoDB/Database.h +++ b/MongoDB/include/Poco/MongoDB/Database.h @@ -42,6 +42,8 @@ #include "Poco/MongoDB/Document.h" #include "Poco/MongoDB/QueryRequest.h" #include "Poco/MongoDB/InsertRequest.h" +#include "Poco/MongoDB/UpdateRequest.h" +#include "Poco/MongoDB/DeleteRequest.h" namespace Poco { namespace MongoDB { @@ -75,6 +77,11 @@ public: /// the database name! + Poco::SharedPtr createDeleteRequest(const std::string& collectionName) const; + /// Creates a DeleteRequest to delete documents in the given collection. + /// The collectionname must not contain the database name! + + Poco::SharedPtr 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! @@ -84,6 +91,10 @@ public: /// Creates a QueryRequest. The collectionname must not contain the database name! + Poco::SharedPtr createUpdateRequest(const std::string& collectionName) const; + /// Creates an UpdateRequest. The collectionname must not contain the database name! + + 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. @@ -109,6 +120,30 @@ inline Poco::SharedPtr Database::createCommand() co return cmd; } + +inline Poco::SharedPtr Database::createDeleteRequest(const std::string& collectionName) const +{ + return new Poco::MongoDB::DeleteRequest(_dbname + '.' + collectionName); +} + + +inline Poco::SharedPtr Database::createInsertRequest(const std::string& collectionName) const +{ + return new Poco::MongoDB::InsertRequest(_dbname + '.' + collectionName); +} + + +inline Poco::SharedPtr Database::createQueryRequest(const std::string& collectionName) const +{ + return new Poco::MongoDB::QueryRequest(_dbname + '.' + collectionName); +} + + +inline Poco::SharedPtr Database::createUpdateRequest(const std::string& collectionName) const +{ + return new Poco::MongoDB::UpdateRequest(_dbname + '.' + collectionName); +} + }} // Namespace Poco::MongoDB #endif // _MongoDB_Database_included diff --git a/MongoDB/src/Database.cpp b/MongoDB/src/Database.cpp index d4a1c454c..72bf756e7 100644 --- a/MongoDB/src/Database.cpp +++ b/MongoDB/src/Database.cpp @@ -147,16 +147,4 @@ Poco::SharedPtr Database::createCountRequest(const } -Poco::SharedPtr Database::createInsertRequest(const std::string& collectionName) const -{ - return new Poco::MongoDB::InsertRequest(_dbname + '.' + collectionName); -} - - -Poco::SharedPtr Database::createQueryRequest(const std::string& collectionName) const -{ - return new Poco::MongoDB::QueryRequest(_dbname + '.' + collectionName); -} - - }} // Namespace Poco::MongoDB