Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
 void run() {
     CountRequest request = createCountRequest(BSON("x" << 1));
     testCount(request, kDocuments+1, true); // only applies to indexed case
 }
Ejemplo n.º 5
0
 void run() {
     CountRequest request = createCountRequest(BSON("x" << 1));
     testCount(request, kInterjections+1);
     testCount(request, kInterjections+1, true);
 }
Ejemplo n.º 6
0
 void run() {
     CountRequest request = createCountRequest(BSON("x" << GTE << 0), 0, 2);
     testCount(request, 2);
     testCount(request, 2, true);
 }
Ejemplo n.º 7
0
 void run() {
     CountRequest request = createCountRequest(BSON("x" << GTE << 0), 2);
     testCount(request, kDocuments-2);
     testCount(request, kDocuments-2, true);
 }
Ejemplo n.º 8
0
 void run() {
     BSONObj filter = BSON("x" << LT << kDocuments/2);
     CountRequest request = createCountRequest(filter);
     testCount(request, kDocuments/2);
     testCount(request, kDocuments/2, true);
 }