sql >> Databáze >  >> NoSQL >> MongoDB

jarní data - Mongodb - metoda findBy pro vnořené objekty

Stačí použít @Query anotace k této metodě.

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);

}

Přidáním fields součástí @Query anotaci, říkáte Mongo, aby vrátil pouze tuto část dokumentu. Pozor však, stále vrací celý dokument ve stejném formátu – chybí pouze vše, co jste nespecifikovali. Váš kód tedy bude muset vracet List<PracticeQuestion> a budete muset udělat:

foreach (PracticeQuestion pq : practiceQuestions) {
    Question q = pq.getQuestions().get(0); // This should be your question.
}


  1. MongoDb - Změňte typ z Int na Double

  2. Indexování pomocí seřazených sad Redis

  3. Data Warehousing nové generace v Santander UK

  4. docker-compose + django + redis - Chyba 111 při připojování k 127.0.0.1:6379. Spojení odmítnuto