首页 文章

使用$ in子句从MongoTemplate查询中删除引号

提问于
浏览
0

我有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中包含$运算符参数,以便Mongo将它们视为字符串 . 真正的查询如下所示:

$in: ["5", "15"]

代替

$in: [5, 15]

如何告诉mongoTemplate不要忽略一种类型的集合值,而不是在Integer的情况下将它们包装在引号中?谢谢!

1 回答

  • 0

    我自己解决了这个问题 . 当我使用HashSet而不是ArrayList时,一切顺利 . 希望这有助于其他人 .

相关问题