sql >> データベース >  >> NoSQL >> MongoDB

春のデータ-Mongodb-ネストされたオブジェクトのfindByメソッド

    @Queryを使用するだけです そのメソッドのアノテーション。

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

    fieldsを追加する @Queryの一部 注釈、あなたはMongoにドキュメントのその部分だけを返すように言っています。ただし、ドキュメント全体が同じ形式で返されることに注意してください。指定しなかったものがすべて欠落しているだけです。したがって、コードは引き続きList<PracticeQuestion>を返す必要があります。 そして、あなたはしなければならないでしょう:

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


    1. luaスクリプトがredis-serverをブロックするのはなぜですか?

    2. ドキュメントの特定の部分を取得する

    3. mongodbのタイムスタンプの差を(時間単位で)計算する方法は?

    4. Mongodbはサブ配列内を検索します