我的mongoTemplate查询结合了各种标准。在这个查询中,我需要通过一组ID来选择文档。所以我使用“in”方法。
这是我的代码:
Query query = new Query(Criteria.where("sizeId").is(sizeId));
query.addCriteria(Criteria.where("companyId").in(companyIds));
List<StatisticUnit> result = mongoTemplate.find(query, StatisticUnit.class);
“companyIds”是一个整数值列表。
我没有结果,因为MongoTemplate在qoutes中包含$ in运算符参数,以便Mongo将它们视为字符串。真实查询如下所示:
$in: ["5", "15"]
而不是
$in: [5, 15]
如何告诉mongoTemplate不要忽略某种类型的集合值,而不是在Integer的情况下将它们包装在引号中?谢谢!
答案 0 :(得分:0)
我自己解决了这个问题。当我使用HashSet而不是ArrayList时,一切顺利。希望这有助于其他人。