为了账号安全,请及时绑定邮箱和手机立即绑定

MongoRepository如何创建集合

MongoRepository如何创建集合

守着星空守着你 2019-03-14 22:10:21
问题描述业务需求,需要根据某个字段值,假设值为 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);
    }
}


查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 1262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信