小编use*_*083的帖子

spring数据 - Mongodb - findBy嵌套对象的方法

我有两个域对象,

@Document
public class PracticeQuestion {

     private int userId;
     private List<Question> questions;

// Getters and setters
}

@Document
public class Question {

     private int questionID;
     private String type;

// Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我的JSON文档是这样的,

{
    "_id" : ObjectId("506d9c0ce4b005cb478c2e97"),
    "userId" : 1,
    "questions" : [
        {
            "questionID" : 1,
            "type" : "optional"

         },
        {
             "questionID" : 3,
             "type" : "mandatory"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我必须更新基于userId和questionId的"类型",所以我在自定义Repository接口中编写了一个findBy查询方法,

public interface CustomRepository extends MongoRepository<PracticeQuestion, String> {

    List<PracticeQuestion> findByUserIdAndQuestionsQuestionID(int userId,int questionID);       
}
Run Code Online (Sandbox Code Playgroud)

我的问题是当我执行此方法时userId为1而questionID为3,它返回整个问题列表而不管questionID.查询方法名称是有效的,还是应该如何为嵌套对象编写查询.

谢谢你的任何建议.

findby mongodb spring-data

23
推荐指数
3
解决办法
5万
查看次数

标签 统计

findby ×1

mongodb ×1

spring-data ×1