有什么方法可以将自定义字段发送到mongo存储库以进行搜索?

时间:2019-06-19 09:35:17

标签: java spring mongodb spring-boot spring-data-jpa

我想要一种将自定义字段发送到spring存储库的方法,查询应基于该字段获取数据并获取结果。

{
    "_id" : "fa744095-d789-4bfd-b7be-65677ce00c59",
    "data" : {
        "Single select RD" :     "B@%sl%@X",
        "Multiple select RD" : [ 
            "A@%sl%@E", 
            "B@%sl%@X", 
            "B@%sl%@Y"
        ],
        "Single Domain data" : [ 
            {
                "Header-2" : "value",
                "Esa" : "value",
                "Title" : "title1"
            }
        ],
        "Multiple Domain data" : [ 
            {
                "Header-2" : "value",
                "Esa" : "value",
                "Title" : "title1"
            }, 
            {
                "Header-2" : "value",
                "Esa" : "value",
                "Title" : "title2"
            }
        ]
    }
}

这是我的mongo文件。 “数据”字段的数据类型为对象。现在,我想在“单选RD”字段的基础上获取字段。我可以在MongoRepository中使用@Query注释来实现它,但是“单选RD”字段可以是任何内容。那么有什么方法可以将该值传递给@Query注释,或者可以使用jpa做到这一点?

1 个答案:

答案 0 :(得分:0)

您还可以使用命名参数将方法参数传递给查询,使用存储库方法声明内的@Param批注定义这些参数。

@Query("SELECT d FROM Data d WHERE d.Single select RD= :status")
Data findDataByStatus(@Param("status") String status);