MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

dane wiosenne - Mongodb - metoda findBy dla obiektów zagnieżdżonych

Po prostu użyj @Query adnotacja na temat tej metody.

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

}

Dodając fields część @Query adnotacja, mówisz Mongo, aby zwrócił tylko tę część dokumentu. Uważaj jednak, nadal zwraca cały dokument w tym samym formacie - po prostu brakuje wszystkiego, czego nie określiłeś. Więc twój kod nadal będzie musiał zwracać List<PracticeQuestion> i będziesz musiał zrobić:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:znajdź minimalny element w tablicy i usuń go

  2. Ramy agregacji MongoDB i etapy agregacji

  3. Błąd przetwarzania JSON mongoexport

  4. windows:rails:błąd instalacji bson_ext

  5. Jak zastosować aktualizację za pomocą filtrowanego operatora pozycyjnego z arrayFilters