From 39fc777a6be7d9874cb42c6c7e7092df58ca5078 Mon Sep 17 00:00:00 2001 From: fbraem Date: Fri, 1 Mar 2013 21:43:12 +0100 Subject: [PATCH] Add sample11, 12 and 13 --- MongoDB/samples/SQLToMongo/src/main.cpp | 60 ++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/MongoDB/samples/SQLToMongo/src/main.cpp b/MongoDB/samples/SQLToMongo/src/main.cpp index eae1dbb74..efee461c6 100644 --- a/MongoDB/samples/SQLToMongo/src/main.cpp +++ b/MongoDB/samples/SQLToMongo/src/main.cpp @@ -411,11 +411,66 @@ void sample10(Poco::MongoDB::Connection& connection) } +// SELECT COUNT(*) FROM players WHERE birthyear > 1980 +void sample11(Poco::MongoDB::Connection& connection) +{ + std::cout << "*** SAMPLE 11 ***" << std::endl; + + Poco::MongoDB::Database db("sample"); + Poco::SharedPtr count = db.createCountRequest("players"); + count->selector().addNewDocument("query") + .addNewDocument("birthyear") + .add("$gt", 1980); + + Poco::MongoDB::ResponseMessage response; + connection.sendRequest(*count, response); + + if ( response.hasDocuments() ) + { + std::cout << "Count: " << response.documents()[0]->get("n") << std::endl; + } +} + + +//UPDATE players SET birthyear = birthyear + 1 WHERE firstname = 'Victor' +void sample12(Poco::MongoDB::Connection& connection) +{ + std::cout << "*** SAMPLE 12 ***" << std::endl; + + Poco::MongoDB::Database db("sample"); + Poco::SharedPtr request = db.createUpdateRequest("players"); + request->selector().add("firstname", "Victor"); + + request->update().addNewDocument("$inc").add("birthyear", 1); + + connection.sendRequest(*request); + + Poco::MongoDB::Document::Ptr lastError = db.getLastErrorDoc(connection); + std::cout << "Count: " << lastError->toString(2); +} + + +//DELETE players WHERE firstname = 'Victor' +void sample13(Poco::MongoDB::Connection& connection) +{ + std::cout << "*** SAMPLE 13 ***" << std::endl; + + Poco::MongoDB::Database db("sample"); + Poco::SharedPtr request = db.createDeleteRequest("players"); + request->selector().add("firstname", "Victor"); + + connection.sendRequest(*request); + + Poco::MongoDB::Document::Ptr lastError = db.getLastErrorDoc(connection); + std::cout << "Count: " << lastError->toString(2); +} + + int main(int argc, char** argv) { Poco::MongoDB::Connection connection("localhost", 27017); - sample1(connection); +// sample1(connection); sample2(connection); sample3(connection); sample4(connection); @@ -425,6 +480,9 @@ int main(int argc, char** argv) sample8(connection); sample9(connection); sample10(connection); + sample11(connection); + sample12(connection); + sample13(connection); return 0; }