当前位置: 首页 > 知识库问答 >
问题:

Spring数据mongo使用或查询中

萧焱
2023-03-14

看看有没有人能帮上忙。

我想使用Spring数据mongodb的存储库,我想使用查询注释来过滤按值A=10或A=20查找的数据

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

很明显,“试着做一个AND,我需要一个OR。

有什么想法吗?

共有3个答案

经佐
2023-03-14

您可以这样使用Spring Data MongoDB:

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

mongoTemplate.find(query, YourClazz.class, "CollectionName");
徐智渊
2023-03-14

我想这可能管用

@Query("{'$or':[ {'A':10}, {'B':20} ] }")
沙富
2023-03-14

或者如果您使用的是标准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");
 类似资料:
  • 我正在玩Spring数据Mongo查询,并想知道字段属性参数。以下是我从文档中获得的示例: 问题是:在{“firstname”:1,“lastname”:1}中,1的含义是什么?

  • 我已经将我的一些从移植到文档,现在移植我的一些查询。这是JPA查询: 以下是我的尝试: 此查询返回零大小的arraylist。然后,我将或更改为使用is子句,并确保变量中包含的数据作为后缀和前缀。那也不管用。 但是来自和客户端的查询: 返回数据。 问题1:如何使用spring数据mongo标准编写LIKE子句<问题2:这是在标准中使用or and子句的正确方法吗 感谢阅读

  • 是否有其他选择-或者使用mongoTemplate是最好的选择? 谢谢

  • 问题内容: 我正在将spring-data mongo与基于JSON的查询方法一起使用,并且不确定如何在搜索查询中允许使用可选参数。 例如-说我有以下功能 -但是我不想应用名称正则表达式匹配,或者如果将NULL值传递给方法,则不希望应用日期范围限制。 目前看来,我可能必须使用mongoTemplate构建查询。 有没有其他选择-还是使用mongoTemplate是最佳选择? 谢谢 问题答案: 为了

  • 我刚刚开始使用Spring-Boot的spring data MongoDb。 我主要想要实现的是将上面的本机mongo json查询外部化到配置文件中,并在上面的注释中引用它。 在Hibernate中使用jpa时,Spring数据支持类似的内容。但不确定我们是否可以使用spring data mongodb和spring Boot来做同样的事情。

  • 大家好,我有一个大问题在查询我的数据。我有这样的文件: 我想构建两个查询: 1)每天计算标签的数量,然后输出,例如,如下所示: 2)另一个是相同的,但我想设置一个期间从2016-12-13到2016-12-17。 对于第一个查询,我编写了这个查询,并得到了我所搜索的内容,但是在Spring Data Mongo中,我不知道如何编写。