반응형

# 생성 INDEX 조회
db.getCollection('[컬렉션명]').getIndexes()
db.getCollection('[컬렉션명]').getIndexes()
db.getCollection('[컬렉션명]').getIndexes()

#생성 INDEX 제거
db.getCollection('[컬렉션명]').dropIndexes() //_id INDEX를 제외한 모든 INDEX 제거
db.getCollection('[컬렉션명]').dropIndex("name":"body_host_ip_1_body_key_1") //지정된 INDEX 제거

#INDEX 생성 쿼리
db.getCollection('[컬렉션명]').createIndex( { "body_event_time": 1 } )
db.getCollection('[컬렉션명]').createIndex( { "body_host_ip": 1 } )
db.getCollection('[컬렉션명]').createIndex( { "body_uid": 1, "body_ses":1 } )
db.getCollection('[컬렉션명]').createIndex( { "body_key": 1 } )
db.getCollection('[컬렉션명]').createIndex( { "header_msg": 1 } )
db.getCollection('[컬렉션명]').createIndex( { "body_name": 1 } )
db.getCollection('[컬렉션명]').createIndex( { "header_message:type": 1 } )

db.getCollection('[컬렉션명]').createIndex({"external_ids.0": 1 })
db.getCollection('[컬렉션명]').createIndex({"platforms.0": 1 })

db.getCollection('[컬렉션명]').createIndex({"attack_group": 1, "external_id": 1 })

728x90

'[개발관련] > Database(MongoDB)' 카테고리의 다른 글

[MongoDB] JAVA Group By aggregate  (0) 2021.01.20
몽고DB import/exprot 쿼리  (0) 2020.12.26
MySql, MongoDB 문법비교 그림  (0) 2020.12.09
몽고디비란?  (0) 2019.12.23
반응형

Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]

 

@PostMapping annotation이 빠졌을 경우, 통신을 할 때 주고받는 방식이 맞지 않아서 (즉, 보낼 때는 POST로 전송하였지만 GET 방식으로 받게끔 설정되어있을 경우) 위와 같은 에러가 발생하는 경우가 많았다.

 

하지만 모든 경우들을 다 체크한 결과, 모두 잘 연결되어있고 코드상 이상한 점이 전혀 없었다. 그렇게 열심히 삽질을 한 후(?) 문득 가장 기본적인 부분을 놓치고 있었다는 것을 발견함과 동시에 깨달을 수 있었다.

 

jsp페이지에서 <button> 태그를 만들어 버튼을 누를 때 동작을 처리하여 서버와 연결하였는데 button 태그에 type을 지정해주지 않아 버튼만 누르면 무조건 controller로 넘어가고 있는 것이었다..!

( 기억하기론 button의 type을 지정해주지 않으면 기본 type은 submit이 되기 때문에 주의해야한다. )

 

물론 form 태그에 action값을 설정해주고, 그 이외의 설정 등도 제대로 되어있었다면 에러는 나지 않았을 것이다. 하지만 비동기로 통신하는 게시판을 구현 중에 있었기에 action값을 설정해두지 않고 ajax에서 mapping을 해주었기 때문에  @PostMapping org.springframework.web.servlet.PageNotFound - Request method 'POST' not supported 이와 같은 에러가 발생하였다.

 

 

 

 

위와 같은 오류 메시지가 있다면 확인해야할 사항 2 가지

①  jsp 페이지에서 <button> 태그에 type="button" ( <button type="button">~</button> )을 설정해주지 않을 경우, 버튼을 누르게 되면 바로 controller로 submit 된다. 단순히 submit 하는 것이 아닌 다른 event와 logic이 있다면 에러가 발생할 수 있다.

 

 

② @RequestMapping annotation을 사용할 경우, view와 controller의 전송 방식이 맞지 않을 때 위와 같은 에러가 발생할 수 있다.

 

따라서 POST 방식으로 호출하였다면 아래 코드와 같이,

@RequestMapping(value="/", method = {RequestMethod.GET})

GET 방식으로 호출하였다면 다음과 같이 설정해주어야한다.

@RequestMapping(value="/", method = {RequestMethod.POST})

혹은 두 가지 모두 사용한다면 동시에 넣어줄 수도 있다.

@RequestMapping(value="/", method = {RequestMethod.GET, RequestMethod.POST})

 

[출처]developerntraveler.tistory.com/m/20?category=867735

728x90
반응형
//컬렉션 초기화
MongoCollection<Document> auditLogCol = mongoTemplate.getCollection("AUDIT_LOG");

//where 조건 쿼리
BasicDBObject dateTermQuery = MogoDBUtil.getDateTermFindQuery("body_event_time", vo.getStartDate(), vo.getEndDate());
dateTermQuery.put("body_host_ip", vo.getHostIp());
        
List<BasicDBObject> uidQueryList = new ArrayList<BasicDBObject>();

//$match 부분 초기화
BasicDBObject matchQuery = new BasicDBObject("$match", dateTermQuery);
//$group 부분 추기화
BasicDBObject groupUidQuery = new BasicDBObject("$group", new BasicDBObject("_id", "$body_uid"));
		
uidQueryList.add(matchQuery);
uidQueryList.add(groupUidQuery);
//aggregate 요청
List<Document> uidList = auditLogCol.aggregate(uidQueryList).into(new ArrayList<>());
728x90

'[개발관련] > Database(MongoDB)' 카테고리의 다른 글

인덱스 생성/삭제 쿼리  (0) 2021.01.30
몽고DB import/exprot 쿼리  (0) 2020.12.26
MySql, MongoDB 문법비교 그림  (0) 2020.12.09
몽고디비란?  (0) 2019.12.23

+ Recent posts