2016-04-28 3 views
0

Как я могу ссылаться на встроенный документ в mongodb?
Представьте, у меня есть вопрос и AnswerOptions документов, и я хочу, чтобы сохранить ответ пользователя на UserAnswer документа.
Теперь, как я должен указывать на эту опцию в AnswerOptions документ, который встроен?
Любые лучшие практики?Как ссылаться на встроенный документ в mongodb с помощью SpringData

{ 
     "_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" 
     }   
     ] 

    } 

ответ

1

Я не знаю, считается ли мой путь в качестве наилучшей практики, но это, как идо это:

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

 Смежные вопросы

  • Нет связанных вопросов^_^