sql >> Database teknologi >  >> NoSQL >> MongoDB

spring data - Mongodb - findBy Method for indlejrede objekter

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.
}


  1. Spring data MongoDb:MappingMongoConverter fjern _klasse

  2. Hvordan importerer man data fra mongodb til pandaer?

  3. Installer MongoDB på en Mac

  4. Tæl array-elementer, der matcher betingelsen