mongodb中基于通用对象的查询

时间:2018-11-29 13:21:35

标签: spring-data spring-mongodb spring-mongo

我正在使用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 Client中,我可以做:db.quiz.find({'sections.skills': 'is aware of css syntax'}).pretty()

但是我想基于运行时提供的技能以编程方式搜索文档。我了解我需要使用@Query,但需要有关通用查询的帮助才能编写。

1 个答案:

答案 0 :(得分:0)

对不起,答案太晚了。

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