春季数据 mongo 在查询中使用 OR

2022-09-01 09:08:29

让我们看看是否有人可以对此有所帮助。

我想使用Spring Data mongodb的存储库,并且我想使用查询注释来过滤按值查找A=10 or A=20

  @Query("{A: 10, A:20}")
  findById(int id);

Obiously“,”尝试做一个AND,我需要一个OR。

有什么想法吗?


答案 1

或者,如果您使用的是条件 API

Criteria criteria = new Criteria();
criteria.orOperator(Criteria.where("A").is(10),Criteria.where("B").is(20));
Query query = new Query(criteria);

mongoOps.find(query, <Yourclass>.class, "collectionName");

答案 2

我认为这可能有效

@Query("{'$or':[ {'A':10}, {'B':20} ] }")