使用 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注解。
我是 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注解。