inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)

JSON파일 내에서 검색하는 법 질문이 있어요.

637

윤성원

작성한 질문수 9

0

제가 사용하려는 JSON파일을 파이썬에서

.keys()해보면

dict_keys(['gameId', 'platformId', 'gameCreation', 'gameDuration', 'queueId', 'mapId', 'seasonId', 'gameVersion', 'gameMode', 'gameType', 'teams', 'participants', 'participantIdentities'])

키값이 이렇게 되있습니다.

(롤 게임 api데이터입니다.)

강의에서 배운 내용을 활용한다면

maps = it.find({'mapId' : 11})

for map in maps:

print(map)

이런식으로 하면 it라는 콜렉션에 있는 것 다큐먼트들 중에

mapId가 11인 것들을 하나씩 프린트 하는 거 같습니다.

여기까지는 알겠는데 제가 궁금한건 저거로는 원하는 값을 검색하기가 어렵습니다.

가령 'participantIdentities'에는

{}안에 {}가 10개가 있습니다.

그니까 위에 mapId는 

mapid : 11

이런식으로 한칸??한줄로 되있는데

participantIdentities는

{

{}, {} , {}, {}, {}.....

}

이런식으로 10개가 있습니다.

(게임하는 사람이 10명이라서요)

그리고 그 안의 {}마다

'summonerName' : 금똥왁왁

이런식으로 제가 찾으려는 정보들이 있습니다.

다시 정리하자면

'mapId' : 11

인데반해,

'participantIdentities' :

{

{'summonerName' : 금똥왁왁}, {'summonerName' : 페이커}, {'summonerName' : 데프트}........

}

이런식으로 구성되어 있습니다.

이때 제가 summonerName이 데프트인 파일들을 검색하려면 어떤식으로 쿼리를 짜야하나요????

smName = it.find({'participantIdentities.summonerName' : '데프트'})

이런식으로 짜니까

IOudata limit 이런 에러가 떠서 안되구요.

smName = it.find({'participantIdentities.0.summonerName' : '데프트'})

로 짤 경우에는

participantIdentities에 10개의 칸이 있는데 그 중에 0번째 칸에 소환사 이름이 데프트인 경우만 나오는 거 같아요.

이런 경우에는 for문을 써서

0부터 9까지 반복문써야 하는건가요???

또 이런 경우에

smName = it.find({'participantIdentities.0.summonerName' : '데프트'}, { 'summonerName' : 1 } )

이거나

smName = it.find({'participantIdentities.0.summonerName' : '데프트'}, { 'participantIdentities.0.summonerName' : '데프트'summonerName' : 1 } )

이런식으로 하면 오류가 뜨던데

'participantIdentities' : {} {} {}{]

이런식으로 출력 되버리던데.....

저 쿼리를 실행했을 때 소환사 이름이 데프트만 나오게 하려면

뒤쪽 projection?부분을 어떻게 해줘야 하나요??

혼자 독학하려고 하는데 너무어려운거 같아요....

데이터 엔지니어링 mongodb DBMS/RDBMS python

답변 1

0

윤성원

summonerName : 데프트

'participantIdentities.0이든

'participantIdentities.1이든

'participantIdentities.9에 있든간에

다찾아올 수 잇는 방법이

반복문말곤 없나요?

nosql -> sql 비교

0

34

1

studio 3t 설치시 문의

0

37

1

Compass

0

50

1

강의 자료 1,2,7단원만 뜨고 압축 아무리 풀어도 나오지 않는데

0

68

1

강의9분 조건연산자 관련 질문입니다

0

63

1

MONGODB_FUNCODING_V1_2 강의자료 에러

0

98

2

애플실리콘(M1) 몽고DB 최초 설치 후 실행 시 에러 Error: Permission denied

0

211

1

db.movies.aggregate() 질문

0

149

1

아나콘다 설치가 어려운데 아나콘다가 꼭 필요 할까요 ?

0

324

1

어그리게이션 프레임웍 질문

0

162

1

studio - 3T에서 Connection오류

0

442

2

db에 이미지 데이터 저장

1

1470

1

stduio 3t 설치 완료후 처음 실행하고 Login진행 시키면 웹 화면에서 계속 멈춰있습니다 더이상 진행도 안됩니다.

1

283

1

몽고DB 비교 문법 출력이 안 됩니다.

0

346

1

아나콘다에서 주피터 노트북이 없습니다

0

463

1

껏다 켜보니 funcoding 데이터베이스가 안보입니다 ㅠ

0

228

1

nosql 섹션3. 몽고DB 데이터 수정하기부분 질문

0

251

1

강의자료가 다 들어 있지 않은 것 같아요.

0

539

3

재귀적 크롤링을 위한 링크 가져오기 8:20

0

313

1

cmd에서 mongod

0

342

1

다른 강의 수강자분들께 도움될까 싶어 남깁니다.(linux mongodb 실행관련)

0

430

1

강의 자료 문서는 제공이 안되나요?

0

441

1

putty 접속 후 몽고db 스타트를 꼭 해야하나요?

0

420

1

안녕하세요 터미널 창에서 이상한 화면 질문드립니다!

0

489

1