簡體   English   中英

如何使用SpringData在mongodb中引用嵌入式文檔

[英]How to reference an embedded document in mongodb using SpringData

如何在mongodb中引用嵌入式文檔?
想象一下,我有一個Question and AnswerOptions文檔,我想將用戶答案保存到UserAnswer文檔中。
現在,我該如何指向嵌入的AnswerOptions文檔中的該選項?
有最佳做法嗎?

{
        "_id":"1"
        "questionTitle":"Question1"
        "answerOptions":
        [
        {
            "optionTitle":"option1"
        },
        {
            "optionTitle":"option2"
        },
        {
            "optionTitle":"option3"
        }
        ]

    },
{
        "_id":"2"
        "questionTitle":"Question2"
        "answerOptions":
        [
        {
            "optionTitle":"option1"
        },
        {
            "optionTitle":"option2"
        }
        ]

    },
{
        "_id":"3"
        "questionTitle":"Question3"
        "answerOptions":
        [
        {
            "optionTitle":"option1"
        },
        {
            "optionTitle":"option2"
        }        
        ]

    }

我不知道我的方式是否被視為最佳做法,但這是我的做法:

public class Question {
    private String id;
    private String questionTitle;
    private List<Answer> answerOptions;
}

public class Answer {
    private String optionTitle;
}

現在,您可以定義一個MongoRepository來查詢問題:

public interface QuestionRepository extends MongoRepository<Question,String> {
    List<Question> findByAnswerOptionsOptionTitle(@Param("answerOptions.optionTitle") String option)
}

您可能還會發現有關MongoRepositories中的查詢的部分很有用: http ://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#repositories.query-methods.query-property-expressions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM