@Override public void addQuery(AdRequest request, QueryBuilder builder) { if (request.day() == null) { return; } int day = request.day().getDay(); if (day == Day.ALL.getDay()) { return; } List<String> days = new ArrayList<String>(); days.add(String.valueOf(day)); days.add(String.valueOf(Day.ALL.getDay())); BasicDBObject dq = new BasicDBObject(AdDBConstants.ADDB_AD_DAY, new BasicDBObject("$in", days)); builder.and(dq); }