Spring数据Mongo嵌套id赢了';行不通

Spring数据Mongo嵌套id赢了';行不通,spring,mongodb,spring-data,spring-data-mongodb,Spring,Mongodb,Spring Data,Spring Data Mongodb,Spring数据是否对mongo嵌套的“id”属性有不同的处理方式?我解释我的问题:我的集合匹配了以下结构 "teams": [ { "id" : "5601", "name" : "FC Basel" }, ... // more ] 当我想要检索团队id为5601的所有匹配时,我执行以下查询 db.matches.find({ "teams.id" : "5601"}) 它可以完美地

Spring数据是否对mongo嵌套的“id”属性有不同的处理方式?我解释我的问题:我的集合匹配了以下结构

"teams":  [
        {
            "id" : "5601",
            "name" : "FC Basel"
        },
        ... // more
    ]
当我想要检索团队id为5601的所有匹配时,我执行以下查询

db.matches.find({ "teams.id" : "5601"})
它可以完美地工作并返回一些对象

当我制定一个方法时

public List<MatchMongo> findByTeams_id(String id);
所以他提出的问题似乎是正确的…:s 尝试使用其他字段(例如referer.name)工作

我甚至试过使用@Query注释,但都没用

还有别的解决办法吗?这是一个bug还是我做错了什么?

哦找到了解决方案:

MatchMongo拥有
列表团队我在那里

@Id
private String id;
@Field(value = "id")
private String teamIdAttr;
因此应该调用该方法

public List<MatchMongo> findByTeams_teamIdAttr(String id);
公共列表findByTeams\u teamIdAttr(字符串id);
从未想过方法名称应该反映对象属性而不是集合结构

"teams":  [
        {
            "id" : "5601",
            "name" : "FC Basel"
        },
        ... // more
    ]

感谢@martin baumgartner您的评论帮助解决了这个问题:)

如果您在团队中致电findById Respository,是否有效?我也有同样的问题,我不明白您的解释!我也不明白你的解释。你能更详细地解释一下你的解决方案吗?