java - 如何在java中查询mongoDb时使用Criteria all?
Posted
技术标签:
【中文标题】java - 如何在java中查询mongoDb时使用Criteria all?【英文标题】:How to use Criteria all in querying mongoDb in java? 【发布时间】:2022-01-18 12:39:22 【问题描述】:我将 MongoDB 用于我的 spring-boot 应用程序。我需要找到与 ID 列表对应的文档列表。
我有一个 Role 集合和一个名为 roleIdList 的列表。此列表 (roleIdList) 包含需要获取其文档的所有角色 ID。
以下是我的查询:
// My roleIdList is of type List<ObjectId>. I also tried with List<String>
Query query = Query.query(where("_id").all(roleIdList));
List<RolesEntity> rolesEntityList = mongoOperations.find(query, RolesEntity.class);
但是通过上面的查询,我得到了空的角色实体列表。谁能帮帮我。
提前致谢!
【问题讨论】:
【参考方案1】:使用in
而不是all
Query query = Query.query(where("_id").in(roleIdList));
见:
https://docs.mongodb.com/manual/reference/operator/query/all/ https://docs.mongodb.com/manual/reference/operator/query/in/
【讨论】:
【参考方案2】:您也可以使用:List<RolesEntity> findByRole_IdIn(List<String> roleIdList)
【讨论】:
以上是关于java - 如何在java中查询mongoDb时使用Criteria all?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 mongoDB 条件查询在 java 中获得更干净的代码 [重复]