I am trying to run the following query and I keep getting the error below. What am I doing wrong? {collectionName: 'foremanReport', findQuery:{'_id':{'$oid':'$P!{id}'}}} When I get the paramter popup in ireport i type in the id without quotes and get this error (example: 52d5759ec73fc0dc23000002) the class type of parameter is java.lang.String Error filling print... org.bson.types.ObjectId cannot be cast to java.lang.Boolean java.lang.ClassCastException: org.bson.types.ObjectId cannot be cast to java.lang.Boolean at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1270) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1233) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1577) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:87) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Print not filled. Try to use an EmptyDataSource... if I enter the parameter with quote marks I get the following error Error filling print... { collectionName: 'foremanReport', findQuery:{'_id':{'$oid':''52d5759ec73fc0dc23000002''}} } This works! But I cant manage to do it with parameters {collectionName: 'foremanReport',findQuery:{'_id':{'$oid':'52d5759ec73fc0dc23000002'}}}