datos de primavera - Mongodb - método FindBy para objetos anidados
Tengo dos objetos de dominio,
@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
}
Mi documento JSON es así,
{
"_id" : ObjectId("506d9c0ce4b005cb478c2e97"),
"userId" : 1,
"questions" : [
{
"questionID" : 1,
"type" : "optional"
},
{
"questionID" : 3,
"type" : "mandatory"
}
]
}
Tengo que actualizar el "tipo" basado en userId y questionId, por lo que he escrito un método de consulta findBy dentro de la interfaz personalizada del repositorio,
public interface CustomRepository extends MongoRepository<PracticeQuestion, String> {
List<PracticeQuestion> findByUserIdAndQuestionsQuestionID(int userId,int questionID);
}
Mi problema es cuando ejecuto este método con userId como 1 y questionID como 3, devuelve toda la lista de preguntas independientemente de la questionID. ¿Es válido el nombre del método de consulta o cómo debo escribir la consulta para objetos anidados?
Gracias por cualquier sugerencia.