問題描述業務需求,需要根據某個字段值,假設值為 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 關注
- 1313 瀏覽
添加回答
舉報
0/150
提交
取消