加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

MongoDB实现问卷/测验计划

发布时间:2019-11-01 03:03:51 所属栏目:建站 来源:我的小熊不见了
导读:MongoDB的特点 MongoDB是一个面向文档存储的数据库。在MongoDB中,一笔记录叫做document(文档),由相同于JSON布局的键值对构成。 因为相同于MongoDB直接存储JSON的特征,MongoDB生成适相助为存储布局伟大的数据布局的介质。相同于问卷观测和测验这种需求

dataId用于将这个题目统一个营业数据绑定,dataType用来符号这个营业数据的范例,这两个字段利便数据的扩展;dataTitle是营业数据的问题;options是这个题目的选项;analysis题目的理会,用于用户答题竣事后的自查;right用来记录题目的正确与否。

新增题目

上层接口

提供新增题目的接口:

  1. @PostMapping("/saveOrUpdateQuestion")  
  2. public JsonData saveOrUpdateQuestion(@RequestBody Question data) {  
  3.     questionService.saveOrUpdateQuestion(data);  
  4.     return JsonData.success();  

QuestionService:

  1. public void saveOrUpdateQuestion(Question data) {  
  2.     if (StringUtils.isEmpty(data.getId())) {// 新增  
  3.         writer.insert(manager.getExamDataBase(), ExamConstant.QUESTION_COLLECT, data);  
  4.     } else {//修改  
  5.         writer.updateDocument(data, ExamConstant.QUESTION_COLLECT);  
  6.     }  

DAO

Writer:

  1. public void insert(String dataBase, String collect, MongoBean data) {  
  2.     if (data.getId() == null) {  
  3.         data.setId(BsonTool.uuid());  
  4.     }  
  5.     MongoCollection<Document> collection = getCollection(dataBase, collect);  
  6.     collection.insertOne(Document.parse(JSONObject.toJSONString(data))); 
  7. }  
  8. public Document updateDocument(MongoBean data, String questionCollect) {  
  9.     Document filter = new Document();  
  10.     filter.put("id", data.getId());  
  11.     Document res = new Document();  
  12.     res.put("$set", BsonDocument.parse(JSONObject.toJSONString(data)));  
  13.     update(manager.getExamDataBase(), questionCollect, filter, res);  
  14.     return res;  
  15. }  
  16. public boolean update(String dataBase, String collect, Bson filter, Bson update) {  
  17.     MongoCollection<Document> collection = getCollection(dataBase, collect);  
  18.     UpdateResult ur = collection.updateOne(filter, update);  
  19.     return ur.getModifiedCount() > 0;  

这样后端的事变就所有完成了,接下来就是前端怎么给后端提供这样的数据布局了。

前端实现数据布局

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读