Универсальный объектный запрос в mongodb

Я использую Spring Data MongoDB и, скажем, хочу запросить следующий документ:

{
  "id":3, 
  "updatedOn" : ISODate("2018-11-22T10:58:48.536Z"),
  "totalMaxScore" : 50,
  "maxAttempts" : 4,
  "sections" : [
      {
       "sectionName" : "coding",
       "maxScore" : 30,
       "concepts" : [
           "css box model"
       ],
       "skills" : [
           "is aware of css syntax"
       ],
       "difficultyLevel" : "easy",
       "weightage" : 48
     }
  ]

Из клиента Mongo я могу сделать: db.quiz.find({'sections.skills': 'is aware of css syntax'}).pretty()

Но я хочу программно искать документы на основе навыков, предоставляемых во время выполнения. Я понимаю, что мне нужно использовать @Query, но мне нужна помощь в написании общего запроса.


person user2693135    schedule 29.11.2018    source источник
comment
что вы уже пробовали   -  person Satya    schedule 29.11.2018


Ответы (1)


Извините за столь поздний ответ.

@Query(value = "{ 'sections':{$elemMatch:{'skills: {$elemMatch: {$eq: ?0 }}}}})"
List<Challenge> findChallengesBySkill(String skill);
person charlycou    schedule 05.03.2019