Я успешно интегрировал BIRT с MongoDB - он отлично работает.
Идея заключается в следующем: определите источник данных в BIRT, а затем определите набор данных, который использует этот источник данных. В наборе данных есть событие «open», в котором вы выполняете вызов Mongo Java Driver и выполняете свой запрос к MongoDB (и получаете курсор БД). Затем в событии «fetch» вы в основном получаете следующее значение Cursor, заполняя данные из Cursor в набор данных.
Это возможно, потому что сценарии BIRT используют движок Javascript RHINO, который имеет интеграцию с Java. Поместите Java-драйвер MongoDB в путь к классам и начните писать код:)