问题描述业务需求,需要根据某个字段值,假设值为 demo (该值是唯一的),去创建一个名为demo的collection。之后与demo相关的文档信息(结构是固定的),都将存储到这个集合中。问题出现的环境背景及自己尝试过哪些方法问题主要有:如何使用MongoRepository去创建一个名为demo的集合?如果创建了demo集合,但是因为这个集合的名称和结构都是在运行时才知道的,如何去做实体类映射保证后续的CRUD操作都可以正常运行?有想过使用反射,但是反射只能创建类的对象,无法创建类,所以还是没有办法在运行时做到实体类去映射。而且就算可以,一旦服务器关闭,那么之前创建的所有实体类都将消失。
2 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
我进行了尝试,你可以这样试试看
大致意思就是用List<T>控制问卷选择题和问答题的数量
选择题和问答题的具体情况再分析,例如问卷号、选项、也是相同的思路List<String>
// 问卷实体类@Data@Document(collection = "t_question")public class Question { @Id private String id; // 选择题 @Field private List<T> chooseList; // 简答题 @Field private List<T> saList; // 索引 @Field @Indexed(name = "index_question", direction = IndexDirection.DESCENDING) private String index_question; }
// DAO层public interface QuestionRepository extends MongoRepository<Question,String> { }
@Servicepublic class QuestionService { @Autowired private QuestionRepository questionRepository; /** * 保存单份问卷 * @param question Question实体类 * @return 保存结果 */ public Question savePaper(Question question){ return questionRepository.save(question); } }
- 2 回答
- 0 关注
- 1294 浏览
添加回答
举报
0/150
提交
取消