void run() { // expected count would be kDocuments-2 but we update the first and second records // after doing the first unit of work so they wind up getting counted later on CountRequest request = createCountRequest(BSON("x" << GTE << 2)); testCount(request, kDocuments); testCount(request, kDocuments, true); }
void run() { // expected count would be 99 but we delete the second record // after doing the first unit of work CountRequest request = createCountRequest(BSON("x" << GTE << 1)); testCount(request, kDocuments-2); testCount(request, kDocuments-2, true); }
double Database::count(Connection& connection, const std::string& collectionName) const { Poco::SharedPtr<Poco::MongoDB::QueryRequest> countRequest = createCountRequest(collectionName); Poco::MongoDB::ResponseMessage response; connection.sendRequest(*countRequest, response); if ( response.documents().size() > 0 ) { Poco::MongoDB::Document::Ptr doc = response.documents()[0]; return doc->get<double>("n"); } return -1; }
void run() { CountRequest request = createCountRequest(BSON("x" << 1)); testCount(request, kDocuments+1, true); // only applies to indexed case }
void run() { CountRequest request = createCountRequest(BSON("x" << 1)); testCount(request, kInterjections+1); testCount(request, kInterjections+1, true); }
void run() { CountRequest request = createCountRequest(BSON("x" << GTE << 0), 0, 2); testCount(request, 2); testCount(request, 2, true); }
void run() { CountRequest request = createCountRequest(BSON("x" << GTE << 0), 2); testCount(request, kDocuments-2); testCount(request, kDocuments-2, true); }
void run() { BSONObj filter = BSON("x" << LT << kDocuments/2); CountRequest request = createCountRequest(filter); testCount(request, kDocuments/2); testCount(request, kDocuments/2, true); }