Wie führe ich eine aggregierte Mongo-Abfrage mit json in einem String durch?

Ich habe eine Zeichenfolge mit einer aggregierten JSON-Abfrage (aus einer Datei geladen) für Mongodb. In Robomongo funktioniert es gut. Also in Robomongo habe ich:

db.getCollection('Odds').aggregate(
[
{
     "$lookup": {
        "from": "...",
        "localField": "...",
        "foreignField": "...",
        "as": "..."
     }
},
{    "$unwind": "$..." },
{
     "$redact": {
         ... etc ...
     }
}
]
)

Die JSON-Datei ist dieselbe, wobei jedoch die erste und die letzte Zeile entfernt wurden, sodass es sich um JSON handelt. Wenn ich dies in Java lade, wird es korrekt analysiert. Das Ergebnis der Analyse ist zufällig eine "BasicDBList":

String query = "..."; // read from file
BasicDBList q = (BasicDBList) JSON.parse(query);

Nun, ich versuche dies an die Aggregatfunktion zu übergeben, aber es funktioniert nicht:

new MongoClient().getDatabase("db").getCollection("coll").aggregate(q);

Diese Zeile gibt:

The method aggregate(List<? extends Bson>) in the type MongoCollection<Document> is not applicable for the arguments (BasicDBList)

Gibt es eine Möglichkeit, die Typen zu konvertieren? Soll ich es anders machen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage