I ended up fixing my query to this which worked. Wanted to share it with the rest
List<Docs> fetchDocs(Map<String, String> queries){
Criteria [] c = new Criteria[queries.size()];
Query<TUCacheDoc> query0 = this.mongoDao.createQuery(MyClass.class);
int counter=0;
for (Map.Entry<String, String> entry : inMap.entrySet()) {
Query<TUCacheDoc> queryC = this.mongoDao.createQuery(MyClass.class);
String key= entry.getKey();
String val= entry.getValue();
Criteria cC = queryC.criteria("field").equal(key).criteria("version").equal(val);
c[counter]=cC;
counter++;
}
query0.or(c);
List<TUCacheDoc> qresult = query0.asList();
return qresult;
}