Не сте далеч от решението:
Функцията за агрегатиране приема:.aggregate(List<DBObject>)
Но JSON.parse, който искате да използвате, ви позволява да въведете в него, ако имате списък в заявката си, така че няма проблем
String query="[....}";
List<DBObject> q= (List<DBObject>)JSON.parse(query);
Iterable<DBObject> result=new MongoClient().getDatabase("db").getCollection("coll").aggregate(q).results();`
След това резултатите могат да бъдат итерирани.