查询spring数据mongodb中嵌入文档的数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询spring数据mongodb中嵌入文档的数组相关的知识,希望对你有一定的参考价值。
我有一个简单的问题:
我该如何表达这个查询
db.inventory.find( { "instock": { warehouse: "A", qty: 5 } } )
Query for a Document Nested in an Array
在spring数据mongoDB中,最好使用QueryDSL,但也欢迎其他方式。
到目前为止,我的所有查询都匹配数组中任何嵌入文档的字段,但我需要在两者上匹配。
答案
使用Spring Data存储库,您可以使用:
1 - @Query注释
@Query("{ 'instock': { 'warehouse': ?0, 'qty': ?1 } }")
List<YourClass> findByInstock(String warehouse, int qty);
2 - 自定义存储库方法实现
List<YourClass> findByInstock(String warehouse, int qty) {
return mongoTemplate.find(Query.query(Criteria.where("instock").elemMatch(Criteria.where("warehouse").is(warehouse).and("qty").is(qty)));
您可以在如何实现此方法的过程中找到更多有关here的资料。 }
以上是关于查询spring数据mongodb中嵌入文档的数组的主要内容,如果未能解决你的问题,请参考以下文章