/////////////////////////////////////////////////////////////
// aggregation
////////////////////////////////////////////////////////////
//construct criteria
//{ "marketId": "111223"}
JsonObject aggregationMatcherOuterCriteria = new JsonObject();
aggregationMatcherOuterCriteria.putString("marketId", "1.117880409");
//{"$unwind", "$runners"}
JsonObject unwind = new JsonObject();
unwind.putString("$unwind", "$runners");
// { "runners.selectionId": 1123 }
JsonObject aggregationMatcherInnerCriteria = new JsonObject();
aggregationMatcherInnerCriteria.putNumber("runners.selectionId", 1123);
// { "status": "$runners.status"}
JsonObject aggregationProjectionCriteria = new JsonObject();
aggregationProjectionCriteria.putString("status", "$runners.status");
//this is the part i'm stuck on!!!!!!!
json = new JsonObject().putString("collection", "mycollection-24-03-15")
.putString("action", "aggregate")
.putObject("matcher", aggregationMatcherOuterCriteria)
.putString("collection","$runners")
.putObject("matcher",aggregationMatcherInner)//;
.putObject("keys",aggregationProjectionCriteria);
JsonObject data = new JsonObject();
data.putArray("results", new JsonArray());
// and call the event we want to use
vertx.eventBus().send("mongodb-persistor", json, new ReplyHandler(req, data));