Brug bare @Query
anmærkning om den metode.
public interface CustomRepository extends MongoRepository<PracticeQuestion, String> {
@Query(value = "{ 'userId' : ?0, 'questions.questionID' : ?1 }", fields = "{ 'questions.questionID' : 1 }")
List<PracticeQuestion> findByUserIdAndQuestionsQuestionID(int userId, int questionID);
}
Ved at tilføje fields
del af @Query
annotation, du fortæller Mongo kun at returnere den del af dokumentet. Pas dog på, det returnerer stadig hele dokumentet i samme format - der mangler bare alt, hvad du ikke har angivet. Så din kode skal stadig returnere List<PracticeQuestion>
og du skal gøre:
foreach (PracticeQuestion pq : practiceQuestions) {
Question q = pq.getQuestions().get(0); // This should be your question.
}