Sí, hay forma, pasando el filtro como una cadena. Ejemplo:
BasicDBObject query = BasicDBObject.parse("{userId: {$gt: \"1\"}}");
FindIterable<Document> dumps = crapCollection.find(query);
También puede usar com.mongodb.util.JSON
, pero no lo recomiendo. Es menos descriptivo.
DBObject dbObject = (DBObject)JSON.parse("{userId: {$gt: \"1\"}}");
Tenga en cuenta que esto podría ser vulnerable a las inyecciones de SQL porque usted mismo analiza/construye el filtro.
Recomiendo usar la consulta parametrizada de Jongo.