-
카테고리
-
세부 분야
데이터베이스
-
해결 여부
미해결
pymongo update 관련 (정규식)
20.07.08 13:09 작성 조회수 90
0
안녕하세요. 강사님. 유익한 강의 감사드립니다.
여러가지로 테스트를 해보다가 막히는 부분이 생겼는데요.
만약 배우들 이름이
"이름" : "이정재(5편)"
"이름" : "정우성(6편)"
"이름" : "하정우"
"이름" :"송강호(4편)"
이런식으로 저장되어 있다고 가정할때 괄호안의 내용을 삭제해보려고 했는데요.
예시 : 이정재(5편) -> 이정재
actor.update_many({"이름":{"$regex":"\(\w+\)"}},{"$set":{"이름": "{ }" }})
괄호가 있는 문서를 찾아서 이름을 정규식으로 변경하려고 하였습니다.
{"$set":{"이름": re.sub("\(\w+\)", "", A) }})
여기서 값에 접근하는 방법 (해당 문서 이름의 밸류값)을 모르겠습니다. 실제로 이게 가능한지도 모르겠네요.
for문을 이용해서는 수정할 수 있는데, for문을 쓰지 않고도 가능한 방법이 있을까요?
처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
-------------------------------------------------
강의실 바로가기
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2020.07.08
안녕하세요. 우선 말씀하신 접근 방법도 있겠지만,
간단하게 저장할 때, () 쪽을 지운 후에 저장하시면 더 깔끔하지 않을까 해요.
만약 해당 데이터가 들어있는 변수가 data 라고 한다면,
data.split('(')[0] 이렇게만 하셔도 ( 로 시작하는 괄호 이후의 데이터는 빼고 그 앞에 있는 데이터만 가져올 수 있으니까요.
이렇게 일종의 데이터 전처리를 한 다음에, 해당 데이터를 저장하시면 좋을 것 같습니다.
(굳이 일단 저장한 후에, 해당 데이터를 다 검색해서 불러들여서 재조작을 하는 것은 부득이한 경우가 아니라면, 불필요해보여요)
감사합니다.
답변 1