Используя репозиторий Spring Data, вы можете использовать:
1 - аннотация @Query
@Query("{ 'instock': { 'warehouse': ?0, 'qty': ?1 } }")
List<YourClass> findByInstock(String warehouse, int qty);
2 - Реализация пользовательского метода репозитория
List<YourClass> findByInstock(String warehouse, int qty) {
return mongoTemplate.find(Query.query(Criteria.where("instock").elemMatch(Criteria.where("warehouse").is(warehouse).and("qty").is(qty)));
Вы можете найтибольше материала здесь о том, как реализовать этот метод.}