使用 spring 数据存储库查询具有嵌入式文档字段的文档

Query document with embedded document field using spring data repository

我是 Spring-data 的新手,如果我的问题太幼稚请原谅我

我正在尝试查询如下所示的文档:

     {
       _id: 1,
       name: "sue",
       age: 19,
       type: 1,
       status: "P",
       favorites: { artist: "Picasso", food: "pizza" },
       finished: [ 17, 3 ],
       badges: [ "blue", "black" ],
       points: [
          { points: 85, bonus: 20 },
          { points: 85, bonus: 10 }
       ]
     }

我想执行查询,该查询为我提供了包含 favourites.artist="Picasso".

的条目列表

我知道如何使用 MongoTemplate 做到这一点 我想使用 MongoRepository 做到这一点。

我正在阅读一些文档,其中显示了这样的查询

findByFavorites(Favorites favorites)

但是我找不到任何可以使用嵌入文档的字段进行查询的内容。

应该是

    findByFavoritesArtist(@Param("favorites.artist") String artist);

因此,您只需将嵌入对象中 属性 路径中的属性名称连接在一起。上面的查询可能是多余的,你可以省略@Param注解。