java - Spring数据MongoDB : Query by class instance

标签 java spring mongodb spring-data spring-data-mongodb

我有一个 Spring Data MongoDB 存储库,我想使用定义为对象的搜索条件进行查询。

详细信息:

我有一个模型类:

@Document
public class ModelClass {

    @Id
    private String id;

    private String field1;
    private String field2;
    ...
    private String field10;

    // getters and setters
}

我还有一个 MongoRepository 来存储此类的实例:

public interface Repo extends MongoRepository<ModelClass,String> {}

我想使用 ModelClass 实例作为搜索条件来查询存储库。此类实例可能并非在所有字段中都有值(某些字段可能包含 null)。所以,在 Repo 界面中,我需要类似的东西:

List<ModelClass> findByXXXX(ModelClass criteria);

目标是查询存储库,而无需编写所有可能的字段组合。

最佳答案

对于非常动态的查询,Spring Data JPA 与 Querydsl 集成。它允许您动态定义谓词并将它们作为 MongoDB 查询执行。 reference documentation有详细信息。

关于java - Spring数据MongoDB : Query by class instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21335164/

相关文章:

java - 在 EC2 上运行的 tomcat 8 上使用 VisualVM

java - 如何将对象转换为 Map 样式 JSON 以通过 Spring 中的 Get 请求发送?

java - Spring Boot微服务框架如何从一个微服务调用另一个微服务

javascript - 前端的 MongoDB ObjectID 类型

java - 在 Java 中定义嵌套类/对象/枚举结构的最佳方法是什么?

Java 2d 数组正在打印我认为内存中的垃圾而不是元素

java - 设置值链表节点Java

java - Spring JPA 响应不一致

javascript - Meteor 账号密码只返回_id

javascript - @aws-sdk/lib-storage 使用 JSONStream.stringify() 将 JSON 从 MongoDB 流式传输到 S3