/*-------------------------------------------------*/ @Autowired MongoOperations mongoTemplate; public void saveUser(UserDTO users) { mongoTemplate.save(users); } public UserDTO findUserByName(String name) { return mongoTemplate.findOne( new Query(Criteria.where("name").is(name)), UserDTO.class); } public JSONArray findByName(String name) { BasicDBObject parameter = new BasicDBObject(); parameter.put("name", name); DBCollection personColl = mongoTemplate.getCollection(mongoTemplate.getCollectionName(UserDTO.class)); DBCursor item = personColl.find(parameter); JSONArray array = new JSONArray(); while (item.hasNext()) { array.add(item.next()); //System.out.println(item.next()); } return array; } public void removeUser(String name) { mongoTemplate.remove(new Query(Criteria.where("name").is(name)), UserDTO.class); } public void updateUser(String name, String key, String value) { mongoTemplate.updateFirst(new Query(Criteria.where("name").is(name)), Update.update(key, value), UserDTO.class); } public void updateUser(String name, String key, JSONArray value) { mongoTemplate.updateFirst(new Query(Criteria.where("name").is(name)), Update.update(key, value), UserDTO.class); } public void updateUser(String name, Map<String, Object> kvs) { BasicDBObject basicDBObject = new BasicDBObject(); BasicDBObjectBuilder basicDBObjectBuilder = new BasicDBObjectBuilder(); for (Map.Entry<String, Object> entry : kvs.entrySet()) { basicDBObjectBuilder.add(entry.getKey(), entry.getValue()); } basicDBObject.put("$set", basicDBObjectBuilder.get()); mongoTemplate.updateFirst(new Query(Criteria.where("name").is(name)), new BasicUpdate(basicDBObject), UserDTO.class); } public List<UserDTO> listUser() { return mongoTemplate.findAll(UserDTO.class); }
@Document(collection="users") @CompoundIndexes({ @CompoundIndex(name = "age_idx", def = "{'name': 1, 'age': -1}") }) public class UserDTO extends User { private static final long serialVersionUID = 3148176768559230877L; @Id @Indexed private String _id; // /private List<String> item; public UserDTO() { super(); } // public List<String> getItem() { // return item; // } // // public void setItem(List<String> item) { // this.item = item; // } @Override public String toString() { return "UserDTO{" + "_id='" + _id + '\'' + '}'; }
@ResponseBody @GetMapping(value = "/save/user", produces = "application/json;charset=UTF-8") public JSONObject saveUsers(HttpServletRequest req, HttpServletResponse res) throws Exception { JSONObject result = new JSONObject(); JSONArray array = new JSONArray(); JSONObject tmp = null; UserDTO users = new UserDTO(); users.setName("测试账号"); //userService.saveUser(users); Map update = new HashMap<String, Object>(); for (int i = 0; i < 10; i++) { // tmp = new JSONObject(); update.put("question" + i, "answer" + i); // array.add(tmp.toString()); } userService.updateUser("测试账号1", update); // JSONArray user = userService.findByName("测试账号1"); // user.setCreateTime(new Date()); // user.setLastUpdate(new Date()); // logger.info("------------" + user); // result.put("user", user); result.put("status", 0); helloSender.send("hello world!!"); return result; }