코딩박스

[MongoDB] mongoRepository 에서 query 사용

by 코박7

평소에 MySQL, spring JPA 를 사용하다 Nosql, MongoRepository 를 사용하려니 쿼리도 못짜는 상황이 발생.

내 상황은 List 로 가지고 있는 Ids 로 객체들을 찾아 삭제를 하는 메서드가 필요한 상황

 

해결

 

Chat GPT 한테 물어봤더니 뒤에 저렇게 IN 을 붙이면 된다고해서 붙여봤다.

Remove using query: { "userId" : { "$in" : ["1", "2"]}} in collection: book.
  • IDE 에 찍힌 log

 

실제로 찾는 쿼리를 조금 변형해 삭제하는 쿼리를 만들었더니 잘 작동한다.

(참고로 값들을 찾아 삭제하는 쿼리 메서드는 void removeBooksByUserIdIn(List<String> userIds); 이었다.)

 

IDE 에 MongoDB log 찍는법.

참고: https://stackoverflow.com/questions/39217351/log-mongodb-queries-with-spring-boot

logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG

properties 에 위 코드만 추가해주면 잘 찍히는걸 확인할 수 있다.

블로그의 정보

코딩박스

코박7

활동하기