몽고디비사용자교육2일차 v0.5
-
Upload
seung-hyun-park -
Category
Documents
-
view
168 -
download
3
Transcript of 몽고디비사용자교육2일차 v0.5
0����������� ������������������
����������� ������������������
목차#
0 설치����������� ������������������ 및����������� ������������������ 구동����������� ������������������ -----------------------------------------------------------------------------------------------------------------------����������� ������������������ 0
1 로보몽고����������� ������������������ 설치����������� ������������������ 및����������� ������������������ 데이터����������� ������������������ 확인����������� ������������������ ---------------------------------------------------------------------------------------------����������� ������������������ 3 2 bgl km����������� ������������������ +����������� ������������������ _bg]����������� ������������������ +����������� ������������������ ni]Zm ����������� ������������������ +����������� ������������������ k fho ����������� ������������������ ---------------------------------------------------------------------------------------------����������� ������������������ 6
2-0 bgl km����������� ������������������ --------------------------------------------------------------------------------------------------------------------����������� ������������������ 7 2-1 _bg]+����������� ������������������ _bg]Lg ����������� ������������������ --------------------------------------------------------------------------------------------------------����������� ������������������ 8 2-2 ni]Zm ����������� ������������������ ----------------------------------------------------------------------------------------------------------------����������� ������������������ 00 2-3 k fho ����������� ������������������ +����������� ������������������ ]khi����������� ������������������ -----------------------------------------------------------------------------------------------------����������� ������������������ 02
3 고급����������� ������������������ 표현들����������� ������������������ ----------------------------------------------------------------------------------------------------------------------����������� ������������������ 03
3-0 비교하기����������� ������������������ -------------------------------------------------------------------------------------------------------------����������� ������������������ 03
3-0-0 대소����������� ������������������ 비교����������� ������������������ 하기����������� ������������������ '����������� ������������������ Nn krbg ����������� ������������������ nlbg ����������� ������������������ $ m����������� ������������������ Zg]����������� ������������������ $em����������� ������������������ (����������� ������������������ ------------------------------------------����������� ������������������ 03
3-0-1 문자열����������� ������������������ 비교하기����������� ������������������ '����������� ������������������ Fg jnZebmb l����������� ������������������ hg����������� ������������������ Pmkbg l����������� ������������������ (����������� ������������������ ------------------------------------------------����������� ������������������ 03
3-1 검색����������� ������������������ 하기����������� ������������������ ------------------------------------------------------------------------------------------------------------����������� ������������������ 04
3-1-0 ebd 검색'정규식(+����������� ������������������ 필드존재여부+����������� ������������������ 자료형으로����������� ������������������ 검색����������� ������������������ --------------------------------------����������� ������������������ 04
3-1-1 LO����������� ������������������ 검색����������� ������������������ '����������� ������������������ Rlbg ����������� ������������������ $hk����������� ������������������ (����������� ������������������ ------------------------------------------------------------------------------����������� ������������������ 05
3-1-2 ?KB����������� ������������������ 검색����������� ������������������ '����������� ������������������ Rlbg ����������� ������������������ $Zg]����������� ������������������ (����������� ������������������ -------------------------------------------------------------------------����������� ������������������ 05
3-1-3 배열����������� ������������������ 검색����������� ������������������ ����������� ������������������ '����������� ������������������ Nn krbg ����������� ������������������ Fglb] ����������� ������������������ ?kkZrl����������� ������������������ (����������� ������������������ --------------------------------------------------------����������� ������������������ 06
3-1-4 배열안의����������� ������������������ 요소로����������� ������������������ 검색����������� ������������������ '����������� ������������������ Rlbg ����������� ������������������ $bg����������� ������������������ Zg]����������� ������������������ $Zee����������� ������������������ (����������� ������������������ ----------------------------------------------����������� ������������������ 06
3-1-5 하위����������� ������������������ 다큐먼트����������� ������������������ 검색����������� ������������������ '����������� ������������������ Nn kb l����������� ������������������ pbma����������� ������������������ Bhm����������� ������������������ KhmZmbhg����������� ������������������ (����������� ������������������ ------------------------------------����������� ������������������ 07
3-2 쿼리와����������� ������������������ 커서리턴����������� ������������������ '����������� ������������������ Nn krbg +����������� ������������������ Anklhkl����������� ������������������ (����������� ������������������ -----------------------------------------------------------------����������� ������������������ 07
3-3 hngm����������� ������������������ 해보기����������� ������������������ '����������� ������������������ Ahngmbg ����������� ������������������ O lneml����������� ������������������ (����������� ������������������ -----------------------------------------------------------------------����������� ������������������ 08
3-4 ni]Zm ����������� ������������������ 고급진����������� ������������������ 표현들����������� ������������������ -----------------------------------------------------------------------------------------����������� ������������������ 08
3-5 필드삭제����������� ������������������ '����������� ������������������ Rlbg ����������� ������������������ ma ����������� ������������������ $ngl m����������� ������������������ AhffZg]����������� ������������������ (����������� ������������������ -------------------------------------------------------------����������� ������������������ 1/
3-6 배열����������� ������������������ 다루기����������� ������������������ --------------------------------------------------------------------------------------------------------����������� ������������������ 1/
3-6-0 배열����������� ������������������ 요소����������� ������������������ bg] q����������� ������������������ 로����������� ������������������ ni]Zm ����������� ������������������ 하기����������� ������������������ '����������� ������������������ $l m����������� ������������������ (����������� ������������������ --------------------------------------------------����������� ������������������ 10
3-6-1 배열����������� ������������������ 요소에����������� ������������������ 넣기����������� ������������������ '����������� ������������������ $inla����������� ������������������ (����������� ������������������ ����������� ������������������ '����������� ������������������ ����������� ������������������ WX����������� ������������������ ←����������� ������������������ 넣기����������� ������������������ (����������� ������������������ ---------------------------------------------����������� ������������������ 10
3-6-2 배열����������� ������������������ 요소에서����������� ������������������ 빼기����������� ������������������ '����������� ������������������ $ihi����������� ������������������ (����������� ������������������ ---------------------------------------------------------------------����������� ������������������ 10
3-6-3 배열에����������� ������������������ 많이����������� ������������������ 넣기����������� ������������������ '����������� ������������������ $inla?ee����������� ������������������ (����������� ������������������ ------------------------------------------------------------------����������� ������������������ 10
3-6-4 특정����������� ������������������ 요소����������� ������������������ 빼기����������� ������������������ '����������� ������������������ $inee����������� ������������������ (����������� ������������������ ----------------------------------------------------------------------------����������� ������������������ 11
3-6-5 중복을����������� ������������������ 피하여����������� ������������������ 넣기����������� ������������������ '����������� ������������������ $Z]]QhP m����������� ������������������ (����������� ������������������ ------------------------------------------------------------����������� ������������������ 11
3-6-6 없으면����������� ������������������ bgl km����������� ������������������ 있으면����������� ������������������ ni]Zm ����������� ������������������ '����������� ������������������ $nil km����������� ������������������ (����������� ������������������ ---------------------------------------------------����������� ������������������ 12
4 집계����������� ������������������ '����������� ������������������ ? k Zmbhg����������� ������������������ (����������� ������������������ ---------------------------------------------------------------------------------------------------------����������� ������������������ 12
5 모델링����������� ������������������ '����������� ������������������ fh] ebg ����������� ������������������ (����������� ������������������ ----------------------------------------------------------------------------------------------------------����������� ������������������ 12
6 부록����������� ������������������ ----------------------------------------------------------------------------------------------------------------------------------����������� ������������������ 12
6-0 OB@JP����������� ������������������ 와����������� ������������������ 질의����������� ������������������ 비교����������� ������������������ ------------------------------------------------------------------------------------------����������� ������������������ 12 ����������� ������������������
����������� ������������������
1����������� ������������������
����������� ������������������
����������� ������������������
0����������� ������������������
����������� ������������������
본#자료는#개발#프로젝트#교육용이며#또다른 교육을 위한 재배포는 환영입니다. 하지만#출판 및#
영리목적의 재배포는 허락하지#않습니다.#감사합니다.
����������� ������������������
1! 설치#및#구동#
몽고디비를����������� ������������������ 설치하고����������� ������������������ 구동한뒤����������� ������������������ 데이터를����������� ������������������ 임포트����������� ������������������ 해보자-����������� ������������������ 그리고����������� ������������������ 간단한����������� ������������������ 조회를����������� ������������������ 해보자����������� ������������������ ����������� ������������������
����������� ������������������
윈도의����������� ������������������ 경우+����������� ������������������ 디비����������� ������������������ 설치나����������� ������������������ 구동시에����������� ������������������ 중간����������� ������������������ 경로에����������� ������������������ 한글이 있으면����������� ������������������ 오류가����������� ������������������ 일어날수����������� ������������������ 있으니����������� ������������������ 폴더명은����������� ������������������
전부����������� ������������������ 영문명으로����������� ������������������ 하자-����������� ������������������ ����������� ������������������
#
몽고디비#설치#
#
ammil9..ppp-fhg h][-hk .]hpgehZ]l����������� ������������������ 사이트에����������� ������������������ 가서����������� ������������������ 본인의����������� ������������������ 컴퓨터����������� ������������������ 버전에����������� ������������������ 맞는����������� ������������������ 화일을����������� ������������������ 다운로
드����������� ������������������ 받아����������� ������������������ 설치����������� ������������������ 한다-����������� ������������������ ����������� ������������������
����������� ������������������
그림# 1-1#설치화일#다운로드#화면#
����������� ������������������
몽고디비#구동#
#
콘솔에서'윈도우는����������� ������������������ f](����������� ������������������ 설치된����������� ������������������ 폴더로����������� ������������������ 이동한뒤����������� ������������������ [bg����������� ������������������ 폴더에서����������� ������������������ fhg h]����������� ������������������ 파일을����������� ������������������ 확인한다-����������� ������������������ 가능하
다면����������� ������������������ 설치된����������� ������������������ 디렉토리의����������� ������������������ [bg����������� ������������������ 디렉토리를����������� ������������������ 시스템의����������� ������������������ iZma����������� ������������������ 로����������� ������������������ 등록하자-����������� ������������������ 구동하기����������� ������������������ 전에����������� ������������������ 데이터����������� ������������������ 디렉
터리를����������� ������������������ 미리����������� ������������������ 만든다-����������� ������������������ 일반적으로는����������� ������������������ x.]ZmZ.][y����������� ������������������ 폴더로만든다-����������� ������������������ 가장����������� ������������������ 간단한����������� ������������������ 구동����������� ������������������ 명령은����������� ������������������ 다음과����������� ������������������ 같
다-����������� ������������������ 다른����������� ������������������ 경로로����������� ������������������ 만들었다면����������� ������������������ 아래����������� ������������������ 콘솔명령어에서����������� ������������������ x.]ZmZ.][y를����������� ������������������ 대신해서����������� ������������������ 해당����������� ������������������ 경로를����������� ������������������ 입력����������� ������������������ 하자-����������� ������������������
����������� ������������������
ppillip@MacBook:~$#mongod#--dbpath#/data/db#1/04,/6,11Q03902947-128*/8//����������� ������������������ F����������� ������������������ GLROK?I����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ chnkgZe����������� ������������������ ]bk;.]ZmZ.][.chnkgZe����������� ������������������
1/04,/6,11Q03902947-128*/8//����������� ������������������ F����������� ������������������ GLROK?I����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ k ho k����������� ������������������ 9����������� ������������������ gh����������� ������������������ chnkgZe����������� ������������������ _be l����������� ������������������ ik l gm+����������� ������������������ gh����������� ������������������ k ho kr����������� ������������������ g ] ]����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ GLROK?I����������� ������������������ ����������� ������������������ W]nkZ[bebmrX����������� ������������������ BnkZ[bebmr����������� ������������������ mak Z]����������� ������������������ lmZkm ]����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ Jhg hB@����������� ������������������ lmZkmbg ����������� ������������������ 9����������� ������������������ ib];4184����������� ������������������ ihkm;16/06����������� ������������������ ][iZma;.]ZmZ.][����������� ������������������ 53,[bm����������� ������������������ ahlm;JZ @hhd-eh Ze����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ GLROK?I����������� ������������������ ����������� ������������������ WchnkgZe����������� ������������������ pkbm kX����������� ������������������ GhnkgZe����������� ������������������ pkbm k����������� ������������������ mak Z]����������� ������������������ lmZkm ]����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ ����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ ))����������� ������������������ T?OKFKE9����������� ������������������ lh_m����������� ������������������ kebfbml����������� ������������������ mhh����������� ������������������ ehp-����������� ������������������ Knf[ k����������� ������������������ h_����������� ������������������ _be l����������� ������������������ bl����������� ������������������ 145+����������� ������������������ lahne]����������� ������������������ [ ����������� ������������������ Zm����������� ������������������ e Zlm����������� ������������������ 0///����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ ][����������� ������������������ o klbhg����������� ������������������ o2-/-3����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ bm����������� ������������������ o klbhg9����������� ������������������ /370 847]Z [18587//400 6364] 55875_Z8 ]4����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ [nbe]����������� ������������������ bg_h9����������� ������������������ BZkpbg����������� ������������������ f b,hlq0/7,00-[nbe]-0/ g- ����������� ������������������ 01-4-/����������� ������������������ BZkpbg����������� ������������������ kg e����������� ������������������ S klbhg����������� ������������������ 01-4-/9����������� ������������������
Png����������� ������������������ P i����������� ������������������ 18����������� ������������������ 02922936����������� ������������������ MBQ����������� ������������������ 1/02:����������� ������������������ khhm9qgn,1/4/-37-01v0.OCIC?PC U75 53����������� ������������������ q75 53����������� ������������������ @LLPQ IF@ SCOPFLK;0 38����������� ������������������
1����������� ������������������
����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ Zeeh Zmhk9����������� ������������������ lrlm f����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ himbhgl9����������� ������������������ t����������� ������������������ lmhkZ 9����������� ������������������ t����������� ������������������ ][MZma9����������� ������������������ ".]ZmZ.]["����������� ������������������ u����������� ������������������ u����������� ������������������
2015-07-22T14:13:58.261+0900#I#NETWORK# # [initandlisten]#waiting#for#connections#on#port#27017#
����������� ������������������ ����������� ������������������
위와����������� ������������������ 같이����������� ������������������ 구동후����������� ������������������ 콘솔에서����������� ������������������ 제일����������� ������������������ 아랫부분에����������� ������������������ “waiting# for# connections# on# port# 27017”#메세지가����������� ������������������
보였다면����������� ������������������ 일단성공이다!����������� ������������������ 축하축하����������� ������������������ v����������� ������������������ !����������� ������������������ ����������� ������������������ ����������� ������������������
#
데이터임포트#
#
fhg h][-hk ����������� ������������������ 사이트의����������� ������������������ 아래����������� ������������������ 주소에서����������� ������������������ 샘플����������� ������������������ 데이터를����������� ������������������ 내려����������� ������������������ 받자-����������� ������������������
https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/dataset.json 각자����������� ������������������ 편한����������� ������������������ 위치에����������� ������������������ 저장����������� ������������������ 하고����������� ������������������ 콘솔에서����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 입력����������� ������������������ 해보자-����������� ������������������ ,,_be ����������� ������������������ 다음에는����������� ������������������ 위에서����������� ������������������ 저장한����������� ������������������
clhg����������� ������������������ 데이터의����������� ������������������ 경로를����������� ������������������ 넣어야����������� ������������������ 한다-����������� ������������������ 현재는����������� ������������������ xBhpgehZ]l.ikbf k,]ZmZl m-clhgy����������� ������������������ 경로를����������� ������������������ 넣었다-����������� ������������������ ����������� ������������������
����������� ������������������
ppillip@MacBook:~$#mongoimport#--db#test#--collection#restaurants#--drop#--file#Downloads/primer-dataset.json#1/04,/6,11Q03913916-3/3*/8//����������� ������������������ hgg m ]����������� ������������������ mh9����������� ������������������ eh Zeahlm����������� ������������������
1/04,/6,11Q03913916-3/4*/8//����������� ������������������ ]khiibg 9����������� ������������������ m lm-k lmZnkZgml����������� ������������������
2015-07-22T14:24:28.398+0900# imported#25359#documents#
#
위의����������� ������������������ 명령어를����������� ������������������ 조금����������� ������������������ 살펴����������� ������������������ 보면����������� ������������������ fhg hbfihkm����������� ������������������ 라는����������� ������������������ 프로그램을����������� ������������������ 사용����������� ������������������ 하였다-����������� ������������������ ����������� ������������������
현재����������� ������������������ 사용한����������� ������������������ 컴퓨터'MacBook(는����������� ������������������ 패스를����������� ������������������ 설정����������� ������������������ 하여서����������� ������������������ 경로를����������� ������������������ 주지����������� ������������������ 않고����������� ������������������ 사용����������� ������������������ 할수����������� ������������������ 있다-����������� ������������������ ����������� ������������������
x,,][����������� ������������������ m lmy����������� ������������������ 는����������� ������������������ m lm����������� ������������������ 라는����������� ������������������ 디비에����������� ������������������ 넣겠다는����������� ������������������ 의미이고����������� ������������������ ����������� ������������������
x,, hee mbhg����������� ������������������ k lmZnkZgmly����������� ������������������ 는����������� ������������������ k lmZnkZgml����������� ������������������ 라는����������� ������������������ 컬렉션에����������� ������������������ ����������� ������������������
x,,]khi"����������� ������������������ 옵션은����������� ������������������ 기존����������� ������������������ 컬렉션은����������� ������������������ ]khi����������� ������������������ 하겠다는����������� ������������������ 의미이다-����������� ������������������ ����������� ������������������
x,,_be ����������� ������������������ BhpgehZ]l.ikbf k,]ZmZl m-clhgy����������� ������������������ 의����������� ������������������ ,,_be ����������� ������������������ 옵션뒤에는����������� ������������������ 본인의����������� ������������������ 화일����������� ������������������ 위치를����������� ������������������ 넣어주면����������� ������������������ 된다-����������� ������������������ ����������� ������������������
마지막에����������� ������������������ xbfihkm ]����������� ������������������ 14248����������� ������������������ ]h nf gmly����������� ������������������ 라고����������� ������������������ 메세지가����������� ������������������ 보였다면����������� ������������������ 또다시����������� ������������������ 성공v!����������� ������������������ 축하축하v����������� ������������������ !����������� ������������������ ����������� ������������������
#
첫번째#쿼리문장#
#
데이터도����������� ������������������ 들어가����������� ������������������ 있으니����������� ������������������ 쿼리를����������� ������������������ 날려서����������� ������������������ 어떤����������� ������������������ 데이터가����������� ������������������ 들어����������� ������������������ 있는지����������� ������������������ 확인좀����������� ������������������ 해보자-����������� ������������������ 일단����������� ������������������ 콘솔에서����������� ������������������
확인을����������� ������������������ 해보자-����������� ������������������ 한타����������� ������������������ 한타����������� ������������������ 다음����������� ������������������ 코드를����������� ������������������ 쳐서����������� ������������������ 들어가보자-����������� ������������������ ����������� ������������������
����������� ������������������
ppillip@MacBook:~$#mongo#
Jhg hB@����������� ������������������ la ee����������� ������������������ o klbhg9����������� ������������������ 2-/-3����������� ������������������
hgg mbg ����������� ������������������ mh9����������� ������������������ m lm����������� ������������������
P ko k����������� ������������������ aZl����������� ������������������ lmZkmni����������� ������������������ pZkgbg l9����������� ������������������ ����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ ����������� ������������������
1/04,/6,11Q03902947-142*/8//����������� ������������������ F����������� ������������������ ALKQOLI����������� ������������������ ����������� ������������������ WbgbmZg]eblm gX����������� ������������������ ))����������� ������������������ T?OKFKE9����������� ������������������ lh_m����������� ������������������ kebfbml����������� ������������������ mhh����������� ������������������ ehp-����������� ������������������ Knf[ k����������� ������������������ h_����������� ������������������
_be l����������� ������������������ bl����������� ������������������ 145+����������� ������������������ lahne]����������� ������������������ [ ����������� ������������������ Zm����������� ������������������ e Zlm����������� ������������������ 0///����������� ������������������
����������� ������������������ ����������� ������������������
����������� ������������������
몇����������� ������������������ 가지����������� ������������������ pZkgbg 이����������� ������������������ 떴는데����������� ������������������ LP����������� ������������������ 화일����������� ������������������ 갯수에����������� ������������������ 관련된����������� ������������������ 경고이니����������� ������������������ 일단����������� ������������������ 가볍게����������� ������������������ 무시하고����������� ������������������ 하던일을����������� ������������������ 하
2����������� ������������������
����������� ������������������
는거다!����������� ������������������ 'LP����������� ������������������ 만든이를����������� ������������������ 믿자����������� ������������������ !(����������� ������������������ ����������� ������������������
그리고����������� ������������������ fhg h����������� ������������������ 라고만����������� ������������������ 입력해도����������� ������������������ 되는이유는����������� ������������������ eh Zeahlm����������� ������������������ 의����������� ������������������ 16/06����������� ������������������ 포트로����������� ������������������ 구동되고����������� ������������������ 그����������� ������������������ 구동이����������� ������������������ 기본
이기����������� ������������������ 때문에����������� ������������������ 생략해도����������� ������������������ 가능하다-����������� ������������������ 접속����������� ������������������ 옵션은����������� ������������������ fhg h����������� ������������������ ,,a ei����������� ������������������ 를����������� ������������������ 입력����������� ������������������ 해보면����������� ������������������ 자세히����������� ������������������ 나온다-����������� ������������������ ����������� ������������������
����������� ������������������
이제����������� ������������������ 임포트����������� ������������������ 했을때����������� ������������������ 자동으로����������� ������������������ 생성된����������� ������������������ m lm����������� ������������������ 베이스로����������� ������������������ 이동하면����������� ������������������ 된다-����������� ������������������ 이동명령은����������� ������������������ 아래와����������� ������������������ 같다-����������� ������������������
����������� ������������������
>#use#test#
lpbm a ]����������� ������������������ mh����������� ������������������ ][����������� ������������������ m lm����������� ������������������
����������� ������������������
좀전에����������� ������������������ bfihkm����������� ������������������ 한����������� ������������������ 컬렉션이����������� ������������������ 있는지����������� ������������������ 찾아����������� ������������������ 보자-����������� ������������������ ����������� ������������������
����������� ������������������
>#show#collections# #
k lmZnkZgml����������� ������������������
lrlm f-bg] q l����������� ������������������
����������� ������������������ ����������� ������������������
����������� ������������������
정상적으로����������� ������������������ 들어����������� ������������������ 갔으니����������� ������������������ 딱����������� ������������������ 한개만����������� ������������������ 조회����������� ������������������ 해보자-����������� ������������������ ����������� ������������������
����������� ������������������
>#db.restaurants.findOne();#
t����������� ������������������
����������� ������������������ " b]"����������� ������������������ 9����������� ������������������ L[c mF]'"44Z_18/[/871532__07Z41Z["(+����������� ������������������
����������� ������������������ "Z]]k ll"����������� ������������������ 9����������� ������������������ t����������� ������������������
����������� ������������������ ����������� ������������������ "[nbe]bg "����������� ������������������ 9����������� ������������������ "11/5"+����������� ������������������
����������� ������������������ ����������� ������������������ " hhk]"����������� ������������������ 9����������� ������������������ W����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ,63-0266175+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ 3/-5008461����������� ������������������
����������� ������������������ ����������� ������������������ X+����������� ������������������
����������� ������������������ ����������� ������������������ "lmk m"����������� ������������������ 9����������� ������������������ "Sb mhkr����������� ������������������ @hne oZk]"+����������� ������������������
����������� ������������������ ����������� ������������������ "sbi h] "����������� ������������������ 9����������� ������������������ "0/203"����������� ������������������
����������� ������������������ u+����������� ������������������
����������� ������������������ "[hkhn a"����������� ������������������ 9����������� ������������������ "PmZm g����������� ������������������ FleZg]"+����������� ������������������
����������� ������������������ " nblbg "����������� ������������������ 9����������� ������������������ "G pbla. hla k"+����������� ������������������
����������� ������������������ " kZ] l"����������� ������������������ 9����������� ������������������ W����������� ������������������
����������� ������������������ ����������� ������������������ t����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "]Zm "����������� ������������������ 9����������� ������������������ FPLBZm '"1/03,0/,/5Q//9//9//V"(+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ " kZ] "����������� ������������������ 9����������� ������������������ "?"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "l hk "����������� ������������������ 9����������� ������������������ 8����������� ������������������
����������� ������������������ ����������� ������������������ u+����������� ������������������
����������� ������������������ ����������� ������������������ t����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "]Zm "����������� ������������������ 9����������� ������������������ FPLBZm '"1/03,/4,1/Q//9//9//V"(+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ " kZ] "����������� ������������������ 9����������� ������������������ "?"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "l hk "����������� ������������������ 9����������� ������������������ 01����������� ������������������
����������� ������������������ ����������� ������������������ u+����������� ������������������
����������� ������������������ ����������� ������������������ t����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "l hk "����������� ������������������ 9����������� ������������������ 01+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "]Zm "����������� ������������������ 9����������� ������������������ FPLBZm '"1/02,/3,/3Q//9//9//V"(+����������� ������������������
3����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ " kZ] "����������� ������������������ 9����������� ������������������ "?"����������� ������������������
����������� ������������������ ����������� ������������������ u+����������� ������������������
����������� ������������������ ����������� ������������������ t����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "]Zm "����������� ������������������ 9����������� ������������������ FPLBZm '"1/01,/0,13Q//9//9//V"(+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ " kZ] "����������� ������������������ 9����������� ������������������ "?"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ "l hk "����������� ������������������ 9����������� ������������������ 8����������� ������������������
����������� ������������������ ����������� ������������������ u����������� ������������������
����������� ������������������ X+����������� ������������������
����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ " hla k����������� ������������������ FleZg]"+����������� ������������������
����������� ������������������ "k lmZnkZgm b]"����������� ������������������ 9����������� ������������������ "3/245331"����������� ������������������
u����������� ������������������
����������� ������������������ ����������� ������������������
����������� ������������������
그렇다-����������� ������������������ ][-k lmZnkZgml-_bg]Lg '(:����������� ������������������ 우리가����������� ������������������ 던진����������� ������������������ 첫번째����������� ������������������ 질의문이����������� ������������������ 결과로����������� ������������������ 돌아왔다!����������� ������������������ 이제����������� ������������������ B@?����������� ������������������ 가����������� ������������������
될����������� ������������������ 준비가����������� ������������������ 되었다!����������� ������������������
만약����������� ������������������ 클레식한����������� ������������������ 쉘이����������� ������������������ 너무����������� ������������������ 좋아서����������� ������������������ 계속����������� ������������������ 쉘에서만����������� ������������������ 질의를����������� ������������������ 하고����������� ������������������ 싶다면����������� ������������������ '실제로����������� ������������������ 그런����������� ������������������ 사람����������� ������������������ 많이����������� ������������������ 봤
다(����������� ������������������ 몇가지����������� ������������������ 팁을����������� ������������������ 드리리다-����������� ������������������ 공짜로!����������� ������������������ ����������� ������������������
1. 윗쪽����������� ������������������ 화살표로����������� ������������������ 지난����������� ������������������ 명령����������� ������������������ 조회����������� ������������������ ����������� ������������������
2. 탭으로����������� ������������������ 완성����������� ������������������ 할수����������� ������������������ 있음����������� ������������������ ����������� ������������������
2-����������� ������������������ cZoZl kbim����������� ������������������ w����������� ������������������ 간단한����������� ������������������ cl����������� ������������������ 문법만����������� ������������������ 알아도����������� ������������������ 사용����������� ������������������ 가능����������� ������������������ ����������� ������������������
3-����������� ������������������ a ei����������� ������������������ 활용����������� ������������������ 'a ei����������� ������������������ d r(����������� ������������������
5. 콘솔에서����������� ������������������ 복잡����������� ������������������ 하다면����������� ������������������ db.restaurants.find()-ik mmr'(����������� ������������������ 함수를����������� ������������������ 사용하면����������� ������������������ 깔끔하게나옴����������� ������������������
����������� ������������������
2! 로보몽고#설치#및#데이터#확인#
쉘은����������� ������������������ 아무래도����������� ������������������ 익숙하지����������� ������������������ 않고����������� ������������������ 먼가����������� ������������������ ERF����������� ������������������ 로����������� ������������������ 되있는����������� ������������������ 클라이언트����������� ������������������ 툴이����������� ������������������ 필요����������� ������������������ 하다면����������� ������������������ 단연����������� ������������������ 로보몽고를����������� ������������������
추천한다-����������� ������������������ 아직까지는����������� ������������������ 무료지만����������� ������������������ 유료가����������� ������������������ 되기전에����������� ������������������ ]hgZmbhg����������� ������������������ 을����������� ������������������ 하는����������� ������������������ 것도����������� ������������������ 추천한다-����������� ������������������ ����������� ������������������
4����������� ������������������
����������� ������������������
����������� ������������������
그림# 2-1#로보몽고#다운로드#
����������� ������������������
설치����������� ������������������ 했으면����������� ������������������ 접속����������� ������������������ 해보자-����������� ������������������
����������� ������������������
����������� ������������������
그림# 2-2#연결#설정#
����������� ������������������
KZf ����������� ������������������ 과����������� ������������������ ?]]k ll����������� ������������������ 를����������� ������������������ 채우고����������� ������������������ 16/06로����������� ������������������ 되어����������� ������������������ 있으니����������� ������������������ 그냥����������� ������������������ 세이브만����������� ������������������ 누르면����������� ������������������ 된다-����������� ������������������
����������� ������������������
5����������� ������������������
����������� ������������������
����������� ������������������
그림# 2-3#연결#목록#
����������� ������������������
연결목록에서����������� ������������������ Ahgg m����������� ������������������ 만����������� ������������������ 누르면����������� ������������������ 접속이����������� ������������������ 된다-����������� ������������������ ����������� ������������������
그후����������� ������������������ 컨넥션에서����������� ������������������ 오른쪽����������� ������������������ 마우스를����������� ������������������ 누른뒤����������� ������������������ Li g����������� ������������������ Pa ee����������� ������������������ 을����������� ������������������ 클릭해보자-����������� ������������������
����������� ������������������
그림# 2-4#셀열기#
쿼리를����������� ������������������ 날리고����������� ������������������ 싶어도����������� ������������������ 잠시만����������� ������������������ 참고����������� ������������������ 왼쪽����������� ������������������ 창을����������� ������������������ 보면����������� ������������������ m lm����������� ������������������ 디비가����������� ������������������ 생겨있고����������� ������������������ 확장해보면����������� ������������������ Ahee mbhgl����������� ������������������
가����������� ������������������ 보인다-����������� ������������������ 그아래에����������� ������������������ 다음����������� ������������������ 그림처럼����������� ������������������ 우리가����������� ������������������ bfihkm����������� ������������������ 한����������� ������������������ 데이터가����������� ������������������ 컬렉션'k lmZnkZgml(으로����������� ������������������ 생성����������� ������������������ 되
어����������� ������������������ 있다-����������� ������������������ 만세!����������� ������������������
����������� ������������������
6����������� ������������������
����������� ������������������
����������� ������������������
위에����������� ������������������ 화면이����������� ������������������ 보였다면����������� ������������������ 이제����������� ������������������ 8/%����������� ������������������ 왔다-����������� ������������������ 로보몽고에서����������� ������������������ 첫번째����������� ������������������ 질의는����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������ ][-k lmZnkZgml-_bg]'(:����������� ������������������
����������� ������������������
위의����������� ������������������ 코드를����������� ������������������ 후����������� ������������������ 컨트롤����������� ������������������ 엔터����������� ������������������ 혹은����������� ������������������ 좌측����������� ������������������ 상단에����������� ������������������ 초록색����������� ������������������ 삼각형을����������� ������������������ 누르면����������� ������������������ 된다-����������� ������������������ ][-컬렉션명-_bg]'(����������� ������������������
는����������� ������������������ 몽고디비의����������� ������������������ 컬렉션을����������� ������������������ 조회하는����������� ������������������ 가장����������� ������������������ 기본적인����������� ������������������ Zib����������� ������������������ 다-����������� ������������������ 자세한����������� ������������������ Zib����������� ������������������ 는����������� ������������������ 추후에����������� ������������������ 다시����������� ������������������ 설명한다-����������� ������������������ ����������� ������������������
조회����������� ������������������ 결과중����������� ������������������ 제일����������� ������������������ 위에����������� ������������������ 다큐먼트를����������� ������������������ 모두다����������� ������������������ 활짝����������� ������������������ 펼쳐보면����������� ������������������ 아래����������� ������������������ 그림과����������� ������������������ 같다-����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������
그림# 2-5#find#결과#
����������� ������������������
3! insert#,#find#,#update#,#remove#
몽고디비는����������� ������������������ PNI����������� ������������������ 이����������� ������������������ 없고����������� ������������������ 프로그램����������� ������������������ ?MF����������� ������������������ 로����������� ������������������ 접근����������� ������������������ 해야����������� ������������������ 한다-����������� ������������������ 몽고디비����������� ������������������ Pa ee����������� ������������������ 또한����������� ������������������ cZoZl kbim����������� ������������������ Zib����������� ������������������ 를����������� ������������������
사용����������� ������������������ 해야한다-����������� ������������������ Pa ee����������� ������������������ 및����������� ������������������ Zib����������� ������������������ 에서����������� ������������������ 기존에����������� ������������������ 사용하던����������� ������������������ PNI����������� ������������������ 과����������� ������������������ Zib����������� ������������������ 를����������� ������������������ 비교����������� ������������������ 해보면����������� ������������������ 다음표와����������� ������������������ 같다-����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������ fhg hB@����������� ������������������ la ee����������� ������������������ PNI����������� ������������������
AOC?Q����������� ������������������ Fgl km����������� ������������������ Fgl km����������� ������������������
OC?B����������� ������������������ Dbg]����������� ������������������ P e m����������� ������������������
7����������� ������������������
����������� ������������������
RMB?QC����������� ������������������ Ri]Zm ����������� ������������������ Ri]Zm ����������� ������������������
BCICQC����������� ������������������ O fho ����������� ������������������ B e m ����������� ������������������
#
그림# 3-1#SQL#과# mongodb#shell#비교#
����������� ������������������
몽고디비 Pa ee����������� ������������������ 이란(이하 쉘)����������� ������������������ 0-����������� ������������������ 설치����������� ������������������ 및����������� ������������������ 구동����������� ������������������ 에서����������� ������������������ 콘솔에서����������� ������������������ fhg h����������� ������������������ 를����������� ������������������ 실행시켰을����������� ������������������ 때����������� ������������������ 나오는����������� ������������������
ARF����������� ������������������ 환경으로����������� ������������������ 몽고디비와����������� ������������������ 대화����������� ������������������ 할수����������� ������������������ 있는����������� ������������������ 상태를����������� ������������������ 말한다-����������� ������������������
����������� ������������������
3.1! insert# #이제����������� ������������������ 가장����������� ������������������ 간단한����������� ������������������ kn]����������� ������������������ 를����������� ������������������ 테스트����������� ������������������ 해보자-����������� ������������������ 우선����������� ������������������ [hhd����������� ������������������ 이란����������� ������������������ 컬렉션에����������� ������������������ 2개정도의����������� ������������������ 데이터를����������� ������������������ bgl km����������� ������������������
해보자-����������� ������������������ 쉘에서해도����������� ������������������ 좋고--����������� ������������������ 로보몽고에서����������� ������������������ 해도����������� ������������������ 좋다-����������� ������������������ '설명은����������� ������������������ 로보몽고를����������� ������������������ 기준으로����������� ������������������ 한다(����������� ������������������
아래����������� ������������������ 코드를����������� ������������������ 입력����������� ������������������ 하고����������� ������������������ 로보몽고에서����������� ������������������ 실행����������� ������������������ 시켜보자-����������� ������������������
����������� ������������������
����������� ������������������
/*1*/ ][-[hhd-bgl km't����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ name#9����������� ������������������ "Mongodb#in#action"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ price#9����������� ������������������ 1////+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ company#9����������� ������������������ "jpub"#
u(:����������� ������������������
����������� ������������������
/*2*/����������� ������������������ ][-[hhd-bgl km't����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ name#9����������� ������������������ "미티어#코딩공작소"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ price#9����������� ������������������ 2////+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ company#9����������� ������������������ 길벗����������� ������������������
u(:����������� ������������������
����������� ������������������
/*3*/����������� ������������������ ][-[hhd-bgl km't����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ name#9����������� ������������������ "몽고디비#코딩공작소"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ price#9����������� ������������������ 1////+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ company#9����������� ������������������ t����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ name#9����������� ������������������ "길벗"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ loc#9����������� ������������������ "망원동"#
# # # # u+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ language#9����������� ������������������ "한글"#
u(:����������� ������������������
����������� ������������������
����������� ������������������
훌륭하다-����������� ������������������ 2개모두����������� ������������������ 인서트����������� ������������������ 됬다-����������� ������������������ 아니라고=����������� ������������������ ����������� ������������������
O _ k g Ckkhk����������� ������������������ 9����������� ������������������ 길벗����������� ������������������ bl����������� ������������������ ghm����������� ������������������ ] _bg ]=����������� ������������������
8����������� ������������������
����������� ������������������
����������� ������������������
이라는����������� ������������������ 에러를����������� ������������������ 봤다면����������� ������������������ 아마도����������� ������������������ 두번째����������� ������������������ bgl km����������� ������������������ 문장의����������� ������������������ x hfiZgr����������� ������������������ 9����������� ������������������ 길벗y����������� ������������������ 이라는����������� ������������������ 문장에서����������� ������������������ ����������� ������������������ ����������� ������������������
����������� ������������������
/*2*/����������� ������������������ ][-[hhd-bgl km't����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ name#9����������� ������������������ "미티어#코딩공작소"+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ price#9����������� ������������������ 2////+����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ company#9����������� ������������������ 길벗����������� ������������������ .)에러����������� ������������������ 위치).����������� ������������������
u(:����������� ������������������
����������� ������������������
인터프리터는����������� ������������������ 길벗����������� ������������������ 이라는����������� ������������������ 것을����������� ������������������ 변수로����������� ������������������ 인식하고����������� ������������������ 정의된����������� ������������������ 적이����������� ������������������ 없다고����������� ������������������ 에러를����������� ������������������ 뱉었다-����������� ������������������ 길벗, y길벗y����������� ������������������
이라고����������� ������������������ 수정하고����������� ������������������ 다시����������� ������������������ bgl km����������� ������������������ 하자-����������� ������������������ ����������� ������������������
����������� ������������������
위에러를����������� ������������������ 뱉은건����������� ������������������ 자바스크립트����������� ������������������ 인터프리터이다-����������� ������������������ 몽고디비����������� ������������������ 쉘은����������� ������������������ 자바스크립트로����������� ������������������ 되어있고����������� ������������������ 정확히����������� ������������������
말해서����������� ������������������ 자바스크립트����������� ������������������ S7����������� ������������������ 엔진을����������� ������������������ 사용하고����������� ������������������ 있다-����������� ������������������ 우리가����������� ������������������ 알고����������� ������������������ 있는����������� ������������������ 대부분의����������� ������������������ 자바스크립트 코드는����������� ������������������
쉘에서 동작한다-����������� ������������������ 따라서 SQL 의 프로시져 처럼 JAVASCRIPT 를 사용하면 된다.
����������� ������������������
3.2! find,#findOne#����������� ������������������
위에서����������� ������������������ 입력한����������� ������������������ 데이터를����������� ������������������ 검색����������� ������������������ 하여����������� ������������������ 보자-����������� ������������������ ����������� ������������������
][-[hhd-_bg]'(:����������� ������������������
질의����������� ������������������ 결과는����������� ������������������ 다음����������� ������������������ 그림과����������� ������������������ 같다-����������� ������������������ ����������� ������������������
����������� ������������������
그림# 3-2#find#결과#
0/����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
frlje����������� ������������������ 과����������� ������������������ 같은����������� ������������������ OB@JP의����������� ������������������ PNI����������� ������������������ 이라면����������� ������������������ ����������� ������������������
frlje ����������� ������������������ l e m����������� ������������������ gZf +����������� ������������������ ikb +����������� ������������������ hfiZgr����������� ������������������ _khf����������� ������������������ [hhd����������� ������������������
정도����������� ������������������ 되겠다-����������� ������������������ '자세한����������� ������������������ 비교는����������� ������������������ 부록에서����������� ������������������ 한다(����������� ������������������
����������� ������������������
이제����������� ������������������ 간단한����������� ������������������ 필드를����������� ������������������ 이용한����������� ������������������ 조회����������� ������������������ 조건을����������� ������������������ 지정하여����������� ������������������ 쿼리를����������� ������������������ 날려����������� ������������������ 보자-����������� ������������������ ����������� ������������������
����������� ������������������
][-[hhd-_bg]'����������� ������������������ tname#9����������� ������������������ "미티어#코딩공작소"u(:����������� ������������������
����������� ������������������
결과는����������� ������������������ 다음����������� ������������������ 그림# 3-3#필드를#조회#조건으로#한#결과����������� ������������������ 와����������� ������������������ 같다-����������� ������������������
����������� ������������������
����������� ������������������
그림# 3-3#필드를#조회#조건으로#한#결과#
����������� ������������������
_bg]����������� ������������������ 의����������� ������������������ 첫번째����������� ������������������ 입력����������� ������������������ 파라메터는����������� ������������������ clhg����������� ������������������ 타입의����������� ������������������ 오브젝트를����������� ������������������ 받는다-����������� ������������������ 현재는����������� ������������������ gZf ����������� ������������������ 이����������� ������������������ x미티어����������� ������������������ 코딩공
작소y와����������� ������������������ 일치하는����������� ������������������ 다큐먼트들을����������� ������������������ 찾아서����������� ������������������ 리턴한다-����������� ������������������ ����������� ������������������
����������� ������������������
이번에는����������� ������������������ 원하는����������� ������������������ 필드만����������� ������������������ 조회����������� ������������������ 하여보자-����������� ������������������ 대신����������� ������������������ 검색����������� ������������������ 조건은����������� ������������������ xtuy����������� ������������������ 로����������� ������������������ 전체를����������� ������������������ 대상으로����������� ������������������ 가져와����������� ������������������ 보자-����������� ������������������ ����������� ������������������
][-[hhd-_bg]'����������� ������������������ t����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ name#9����������� ������������������ 0����������� ������������������ +price#9����������� ������������������ 0u����������� ������������������ (:����������� ������������������
����������� ������������������
필드는����������� ������������������ 생략될����������� ������������������ 수����������� ������������������ 있지만����������� ������������������ 조회조건은����������� ������������������ 생략����������� ������������������ 되서는����������� ������������������ 안된다-����������� ������������������ 조회����������� ������������������ 조건이����������� ������������������ 없더라도����������� ������������������ xtuy����������� ������������������ 라는����������� ������������������ 빈����������� ������������������ 오
브젝트����������� ������������������ 형태를����������� ������������������ 입력하여야����������� ������������������ 한다-����������� ������������������ ����������� ������������������
����������� ������������������
이제����������� ������������������ _bg]Lg ����������� ������������������ 도����������� ������������������ 사용해����������� ������������������ 보자-����������� ������������������ 이번에는����������� ������������������ 조회����������� ������������������ 조건과����������� ������������������ 원하는����������� ������������������ 필드를����������� ������������������ 한번에����������� ������������������ 지정한다-����������� ������������������
][-[hhd-_bg]Lg '����������� ������������������ tname#9����������� ������������������ "미티어#코딩공작소"u����������� ������������������ +����������� ������������������ t����������� ������������������ name#9����������� ������������������ 0����������� ������������������ +price#9����������� ������������������ 0u����������� ������������������ (:����������� ������������������
00����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
그림# 3-4#findOne#조회#결과#
����������� ������������������
위����������� ������������������ 그림과����������� ������������������ 같다면����������� ������������������ 정상적으로����������� ������������������ 동작����������� ������������������ 하였다-����������� ������������������ ����������� ������������������
_bg]Lg ����������� ������������������ 과����������� ������������������ _bg]����������� ������������������ 의����������� ������������������ 차이는����������� ������������������ 무엇일까=����������� ������������������ ����������� ������������������
첫째로����������� ������������������ _bg]����������� ������������������ 는����������� ������������������ 커서를����������� ������������������ 리턴하고����������� ������������������ _bg]Lg ����������� ������������������ 은����������� ������������������ 오브젝트를����������� ������������������ 리턴한다-����������� ������������������ ����������� ������������������
두번째로는����������� ������������������ 동작의����������� ������������������ 차이이다-����������� ������������������ _bg]����������� ������������������ 는����������� ������������������ 전체����������� ������������������ 데이터를����������� ������������������ 조회����������� ������������������ 하고����������� ������������������ _bg]Lg 은����������� ������������������ 첫번째����������� ������������������ 다큐먼트를����������� ������������������ 만
나면����������� ������������������ 리턴하고����������� ������������������ 멈춘다-����������� ������������������ 조회����������� ������������������ 결과가����������� ������������������ 0개인것을����������� ������������������ 알고����������� ������������������ 있는����������� ������������������ 경우는����������� ������������������ _bg]Lg ����������� ������������������ 을����������� ������������������ 사용한다-����������� ������������������ ����������� ������������������ ����������� ������������������
3.3! update# #이제����������� ������������������ 특정����������� ������������������ 필드를����������� ������������������ 조회����������� ������������������ 조건으로����������� ������������������ 하여����������� ������������������ 다큐먼트를����������� ������������������ 업데이트����������� ������������������ 해보자-����������� ������������������ 목표는����������� ������������������ 책의����������� ������������������ 가격을����������� ������������������ 올리는것
이다-����������� ������������������ ����������� ������������������
����������� ������������������
][-[hhd-ni]Zm 'tname#9����������� ������������������ "미티어#코딩공작소"u����������� ������������������ +����������� ������������������ tprice#9����������� ������������������ 24///u����������� ������������������ (:����������� ������������������
����������� ������������������
업데이트후����������� ������������������ 아래처럼����������� ������������������ 0개가����������� ������������������ 업데이트����������� ������������������ 되었다는����������� ������������������ 메세지가����������� ������������������ 나왔다면����������� ������������������ 정상적으로����������� ������������������ 업데이트����������� ������������������ 되었다-����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������
그림# 3-5#update#
����������� ������������������
01����������� ������������������
����������� ������������������
][-[hhd-_bg]Lg 'tname#9����������� ������������������ "미티어#코딩공작소"u(:����������� ������������������
����������� ������������������
그리고����������� ������������������ 가격이����������� ������������������ 정상적으로����������� ������������������ 업데이트����������� ������������������ 되었는지����������� ������������������ 조회����������� ������������������ 하여����������� ������������������ 보자-����������� ������������������ 없다!����������� ������������������ 날라����������� ������������������ 갔나=����������� ������������������ 전체를����������� ������������������ 대상으로����������� ������������������
조회����������� ������������������ 해보자-����������� ������������������ ����������� ������������������
����������� ������������������
][-[hhd-_bg]'tu(:����������� ������������������
����������� ������������������
그림의����������� ������������������ 가장����������� ������������������ 아래쪽에����������� ������������������ 보면����������� ������������������ 데이터����������� ������������������ 있다-����������� ������������������ 눈치����������� ������������������ 챗겠지만����������� ������������������ 그냥����������� ������������������ ni]Zm ����������� ������������������ 문을����������� ������������������ 날리면����������� ������������������ 이렇게����������� ������������������ 된다-����������� ������������������
우리가����������� ������������������ 원하는����������� ������������������ 필트만����������� ������������������ 업데이트����������� ������������������ 되는것이����������� ������������������ 아니라����������� ������������������ ni]Zm ����������� ������������������ 의����������� ������������������ 두번째����������� ������������������ 파라메터로����������� ������������������ 문서가����������� ������������������ x대체y����������� ������������������ 된
다-����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������
그림# 3-6#update#결과# $set#사용전#
����������� ������������������
이번에는����������� ������������������ $l m����������� ������������������ 을����������� ������������������ 이용하여����������� ������������������ 다시한번����������� ������������������ 시도해보자-����������� ������������������ 이번에도����������� ������������������ 목표는����������� ������������������ 가격만����������� ������������������ 수정����������� ������������������ 하는것이다-����������� ������������������ ����������� ������������������
����������� ������������������
][-[hhd-ni]Zm 'tname#9����������� ������������������ "몽고디비#코딩공작소"u����������� ������������������ +����������� ������������������ t����������� ������������������ $l m����������� ������������������ 9����������� ������������������ t����������� ������������������ price#9����������� ������������������ 24///u����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
그리고����������� ������������������ 바로����������� ������������������ 조회����������� ������������������ 해보자����������� ������������������
����������� ������������������
][-[hhd-_bg]Lg 'tname#9����������� ������������������ "몽고디비#코딩공작소"u(:����������� ������������������
02����������� ������������������
����������� ������������������
����������� ������������������
그림# 3-7#$set#을#사용하여# update#한결과#
원하던대로����������� ������������������ 가격이����������� ������������������ 비싸게����������� ������������������ 수정되었다-����������� ������������������ 이제����������� ������������������ $l m����������� ������������������ 을����������� ������������������ 꼭����������� ������������������ 기억해두자-����������� ������������������
3.4! remove#,#drop#����������� ������������������
삭제도����������� ������������������ 예상처럼����������� ������������������ 어렵지����������� ������������������ 않다-����������� ������������������ k fho ����������� ������������������ 메소드를����������� ������������������ 이용하여����������� ������������������ 삭제����������� ������������������ 대상인����������� ������������������ 조건을����������� ������������������ GPLK����������� ������������������ 오브젝트����������� ������������������ 형
태로����������� ������������������ 넣어����������� ������������������ 주면����������� ������������������ 된다-����������� ������������������
����������� ������������������
][-i hie -k fho '����������� ������������������ t조건u����������� ������������������ (:����������� ������������������
����������� ������������������
책이름이����������� ������������������ x몽고디비����������� ������������������ 코딩공작소y����������� ������������������ 인����������� ������������������ 책을����������� ������������������ 삭제하기����������� ������������������ 위하여����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 조건을����������� ������������������ 넣어서����������� ������������������ 삭제����������� ������������������ 해보
자-����������� ������������������
����������� ������������������
][-i hie -k fho 'tname#9����������� ������������������ "몽고디비#코딩공작소"u(:����������� ������������������
����������� ������������������
만약����������� ������������������ 전체����������� ������������������ 데이터를����������� ������������������ 삭제����������� ������������������ 하고����������� ������������������ 싶다면����������� ������������������ ����������� ������������������
����������� ������������������
][-i hie -k fho 'tu(:����������� ������������������
����������� ������������������
전체����������� ������������������ 데이터����������� ������������������ 삭제할����������� ������������������ 우려가����������� ������������������ 있으니����������� ������������������ 조심조심-����������� ������������������ 만약����������� ������������������ 전체����������� ������������������ 컬렉션을����������� ������������������ 삭제����������� ������������������ 하고����������� ������������������ 싶다면����������� ������������������ ]khi����������� ������������������ 을����������� ������������������ 사용
하자-����������� ������������������
����������� ������������������
][-i hie -]khi'(:����������� ������������������
����������� ������������������
]khi����������� ������������������ 은����������� ������������������ 조건이����������� ������������������ 필요����������� ������������������ 없다-����������� ������������������ 따라서����������� ������������������ k fho ����������� ������������������ 와는����������� ������������������ 달리����������� ������������������ 데이터를����������� ������������������ 조회하지����������� ������������������ 않는다-����������� ������������������ 용도에����������� ������������������ 따라서����������� ������������������
적절히����������� ������������������ 이용하자-����������� ������������������ 만약����������� ������������������ 데이터가����������� ������������������ 쌓이는����������� ������������������ 속도보다����������� ������������������ 제거����������� ������������������ 하는����������� ������������������ 속도가����������� ������������������ 느려서����������� ������������������ 문제라면����������� ������������������ ]khi����������� ������������������ 을����������� ������������������ 사
03����������� ������������������
����������� ������������������
용하자-����������� ������������������ 더����������� ������������������ 좋은����������� ������������������ 팁이����������� ������������������ 있지만-����������� ������������������ 비밀!����������� ������������������ ����������� ������������������
����������� ������������������
4! 고급#표현들#
4.1!비교하기#4.1.1! 대소 비교 하기 ( Querying using $gt and $lt )
����������� ������������������
$ m����������� ������������������ 는����������� ������������������ k Zm k����������� ������������������ maZg����������� ������������������ 의����������� ������������������ 약자임
$em����������� ������������������ 9����������� ������������������ e ll����������� ������������������ maZg����������� ������������������ 의����������� ������������������ 약자임
$ m ����������� ������������������ 9����������� ������������������ k Zm k����������� ������������������ maZg����������� ������������������ hk����������� ������������������ jnZe����������� ������������������ 의����������� ������������������ 약자임����������� ������������������
$em ����������� ������������������ 9����������� ������������������ e ll����������� ������������������ maZg����������� ������������������ hk����������� ������������������ jnZe����������� ������������������ 의����������� ������������������ 약자임����������� ������������������
����������� ������������������
실제����������� ������������������ 표현은����������� ������������������ 동등비교����������� ������������������ clhg����������� ������������������ oZen ����������� ������������������ 에����������� ������������������ t����������� ������������������ $ m����������� ������������������ 9����������� ������������������ 4/����������� ������������������ u����������� ������������������ 형태로����������� ������������������ 넣어줌-����������� ������������������ ����������� ������������������
����������� ������������������
1.#(#score==50#)����������� ������������������ 동등비교는����������� ������������������
����������� ������������������
����������� ������������������
][-l hk -_bg]'����������� ������������������ {#score#:#50#}����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
2.#(#score#>#50#)����������� ������������������ 대소비교는����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ][-l hk -_bg]'����������� ������������������ t����������� ������������������ l hk ����������� ������������������ 9����������� ������������������ {#$gt:50#}����������� ������������������ ����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
3.#(#50#<#score#<#80#)����������� ������������������ 또한����������� ������������������ 점수가����������� ������������������ 4/보다����������� ������������������ 크고����������� ������������������ 7/보다����������� ������������������ 작은����������� ������������������ ]h nf gm����������� ������������������ 를����������� ������������������ 검색����������� ������������������ 할����������� ������������������ 경우����������� ������������������
����������� ������������������
����������� ������������������
][-l hk -_bg]'����������� ������������������ t����������� ������������������ l hk ����������� ������������������ 9����������� ������������������ {#$gt#:#50#,#$lt#:#80#}����������� ������������������ ����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
형태로����������� ������������������ 사용함-����������� ������������������
����������� ������������������
4.1.2! 문자열 비교하기 ( Inequalities on Strings ) ����������� ������������������
����������� ������������������ –����������� ������������������ “ ����������� ������������������ ����������� ������������������ ����������� ������������������ }����������� ������������������ } -����������� ������������������ ����������� ������������������ ����������� ������������������ xRQD,7����������� ������������������ “ ����������� ������������������ ����������� ������������������ ����������� ������������������ y����������� ������������������ ����������� ������������������ ~ }����������� ������������������ ����������� ������������������ ����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ” ����������� ������������������ ����������� ������������������
04����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
.) ����������� ������������������ ����������� ������������������ ).����������� ������������������
����������� ������������������
����������� ������������������ nl ����������� ������������������ m lm:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Smith"#+����������� ������������������ "age"907u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Jones"u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Alice"#+����������� ������������������ "age"917u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Bob"u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Charlie"u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Dave"#+����������� ������������������ "age"900u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Edg"u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"Fred"u(:����������� ������������������
����������� ������������������ ][-i hie -bgl km't"name"9"박승현"u(:����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ “ ����������� ������������������ xBy����������� ������������������ ” ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ” -����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ name#9����������� ������������������ t����������� ������������������ $gt#9����������� ������������������ "D"#u����������� ������������������ ����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
t����������� ������������������ ����������� ������������������ ����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "Pfbma"����������� ������������������ ����������� ������������������ u����������� ������������������
t����������� ������������������ ����������� ������������������ ����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "Ghg l"����������� ������������������ ����������� ������������������ u����������� ������������������
t����������� ������������������ ����������� ������������������ ����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "BZo "����������� ������������������ ����������� ������������������ u����������� ������������������
t����������� ������������������ ����������� ������������������ ����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "C] "����������� ������������������ ����������� ������������������ ����������� ������������������ u����������� ������������������
t����������� ������������������ ����������� ������������������ ����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "Dk ]"����������� ������������������ ����������� ������������������ ����������� ������������������ u����������� ������������������
t����������� ������������������ ����������� ������������������ ����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "박승현"����������� ������������������ u����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������
)����������� ������������������ }����������� ������������������ ����������� ������������������ kZg ����������� ������������������ }����������� ������������������ } -����������� ������������������ ����������� ������������������ -����������� ������������������
����������� ������������������
4.2!검색#하기#����������� ������������������
4.2.1! like 검색(정규식), 필드존재여부, 자료형으로 검색 ����������� ������������������
ebd ����������� ������������������ 검색'정규식(+����������� ������������������ 필드존재여부+����������� ������������������ 자료형으로����������� ������������������ 검색����������� ������������������ '����������� ������������������ Rlbg ����������� ������������������ $k q l+����������� ������������������ $ qblml+����������� ������������������ $mri ����������� ������������������ (����������� ������������������
����������� ������������������
$exists#9����������� ������������������ k][와는����������� ������������������ 달라서����������� ������������������ 문서별로����������� ������������������ 존재하는����������� ������������������ 필드가����������� ������������������ 다를����������� ������������������ 수����������� ������������������ 있음-����������� ������������������ 특정����������� ������������������ 필드의����������� ������������������ 존재����������� ������������������ 여부를����������� ������������������ 검색����������� ������������������
����������� ������������������
05����������� ������������������
����������� ������������������
예(����������� ������������������ 직업이라는����������� ������������������ 필드가����������� ������������������ 존재하는����������� ������������������ ]h nf gm����������� ������������������ 검색����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ profession#9����������� ������������������ t����������� ������������������ $exists#9����������� ������������������ true#u����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
$type����������� ������������������ 9����������� ������������������ oZen 의����������� ������������������ @PLK����������� ������������������ 타입의����������� ������������������ 일치여부를����������� ������������������ 가지고����������� ������������������ 검색����������� ������������������
����������� ������������������ {����������� ������������������ @PLK-hk ����������� ������������������ 에����������� ������������������ 정의에����������� ������������������ 의함����������� ������������������ ammi9..[lhgli -hk .#.li b_b Zmbhg����������� ������������������ 참조����������� ������������������
����������� ������������������
예(����������� ������������������ 이름이����������� ������������������ 문자열일경우����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ name#:#{#$type#:#2#}����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������
$regex����������� ������������������ 9����������� ������������������ 정규식����������� ������������������ ����������� ������������������
����������� ������������������
예(����������� ������������������ Pf으로����������� ������������������ 시작하는����������� ������������������ 문자열����������� ������������������ 찾기����������� ������������������ '����������� ������������������ gZf ����������� ������������������ ebd ����������� ������������������ 박승% (����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ name#:#{#$regex#:#"^박승"#}����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
예(����������� ������������������ ma����������� ������������������ 로����������� ������������������ 끝나는����������� ������������������ 문자열����������� ������������������ 찾기����������� ������������������ '����������� ������������������ gZf ����������� ������������������ ebd ����������� ������������������ %승현 (����������� ������������������
����������� ������������������ ����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ name#:#{#$regex#:#"승현$"#}����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
4.2.2! OR 검색 ( Using $or )
����������� ������������������
$hk����������� ������������������ 를����������� ������������������ 사용하여����������� ������������������ hk����������� ������������������ 검색+����������� ������������������ d r����������� ������������������ 값을����������� ������������������ $hk����������� ������������������ 로����������� ������������������ 주고����������� ������������������ 조건들은����������� ������������������ clhg����������� ������������������ 배열형태로표현����������� ������������������
����������� ������������������
����������� ������������������ 패턴����������� ������������������ {����������� ������������������ $hk����������� ������������������ 9����������� ������������������ W조건들--X����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -_bg]'t����������� ������������������ ����������� ������������������
$hk����������� ������������������ 9����������� ������������������ W����������� ������������������ ����������� ������������������ t����������� ������������������ gZf ����������� ������������������ 9����������� ������������������ t����������� ������������������ $k q����������� ������������������ 9����������� ������������������ " $"����������� ������������������ u����������� ������������������ u����������� ������������������ +����������� ������������������ ����������� ������������������ t����������� ������������������ Z ����������� ������������������ 9����������� ������������������ t����������� ������������������ $ qblml����������� ������������������ 9����������� ������������������ mkn ����������� ������������������ u����������� ������������������ u����������� ������������������ ����������� ������������������ X����������� ������������������
u����������� ������������������ (����������� ������������������
����������� ������������������
"! 쉘에서����������� ������������������ 대칭되는����������� ������������������ 괄호'브레이스(를����������� ������������������ 색깔로����������� ������������������ 표시����������� ������������������ 해줌����������� ������������������
"! 문장실행후����������� ������������������ x---y����������� ������������������ 표시가����������� ������������������ 나오면����������� ������������������ 문법이����������� ������������������ 틀린것이므로����������� ������������������ 다시����������� ������������������ 문장을����������� ������������������ 만들것����������� ������������������ ����������� ������������������
4.2.3! AND 검색 ( Using $and ) ����������� ������������������
06����������� ������������������
����������� ������������������
패턴# 1.#→#$and#연산자#사용# →# # $and#:#[#조건들...#]#
����������� ������������������
A보다����������� ������������������ 크고����������� ������������������ 철자중에����������� ������������������ Z를����������� ������������������ 포함하는����������� ������������������ ]h nf gm����������� ������������������ 검색����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ $Zg]����������� ������������������ 9����������� ������������������ W����������� ������������������ t����������� ������������������ gZf ����������� ������������������ 9����������� ������������������ t����������� ������������������ $ m����������� ������������������ 9����������� ������������������ "A"����������� ������������������ u����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ gZf ����������� ������������������ 9����������� ������������������ t����������� ������������������ $k q����������� ������������������ 9����������� ������������������ "Z"����������� ������������������ u����������� ������������������ u����������� ������������������ ����������� ������������������ X����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������
����������� ������������������
����������� ������������������
패턴# 2.#→#find#의#기본#문법# ����������� ������������������ '����������� ������������������ 동일����������� ������������������ 키값일����������� ������������������ 경우����������� ������������������ oZen ����������� ������������������ 들을����������� ������������������ 묶음����������� ������������������ (����������� ������������������
����������� ������������������
A보다����������� ������������������ 크고����������� ������������������ 철자중에����������� ������������������ Z를����������� ������������������ 포함하는����������� ������������������ ]h nf gm����������� ������������������ 검색����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -_bg]'����������� ������������������ t����������� ������������������ name#:#{#$gt#:#"C"#,#$regex#:#"a"#}����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������
����������� ������������������
z����������� ������������������ 주의����������� ������������������ d r����������� ������������������ 값이����������� ������������������ 중복����������� ������������������ 되면����������� ������������������ cZoZl kbim����������� ������������������ iZkl k����������� ������������������ 에����������� ������������������ 의해서����������� ������������������ 오류가����������� ������������������ 남-����������� ������������������ 단+����������� ������������������ fhg h][����������� ������������������ 에서는����������� ������������������ 제일����������� ������������������ 뒤
에����������� ������������������ td r9oZen u����������� ������������������ 만����������� ������������������ 정상적으로����������� ������������������ 실행됨-����������� ������������������
예(����������� ������������������ ][-l hk -_bg]'����������� ������������������ t����������� ������������������ l hk ����������� ������������������ 9����������� ������������������ t����������� ������������������ $ m����������� ������������������ 9����������� ������������������ 4/����������� ������������������ u����������� ������������������ +����������� ������������������ l hk ����������� ������������������ 9����������� ������������������ t����������� ������������������ $em����������� ������������������ 9����������� ������������������ 5/����������� ������������������ u����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
4.2.4! 배열 검색 ( Querying Inside Arrays ) ����������� ������������������ ����������� ������������������
.)����������� ������������������ 테스트����������� ������������������ 데이터����������� ������������������ 입력����������� ������������������ ).����������� ������������������
����������� ������������������ nl ����������� ������������������ m lm:����������� ������������������
����������� ������������������ ][-Z hngm-bgl km����������� ������������������ '����������� ������������������ (:����������� ������������������
����������� ������������������ ][-Z hngm-bgl km't"name"9"박승현"#+favorites#9����������� ������������������ W"헬스"+"맥주"+"수영"+"서핑"X����������� ������������������ u(:����������� ������������������
����������� ������������������ ][-Z hngm-bgl km't"name"9"김성환"#+favorites#9����������� ������������������ W"요리"+"음료수"+"보드"+"웨이크보드"X����������� ������������������ u(:����������� ������������������
����������� ������������������ ][-Z hngm-bgl km't"name"9"배민식"#+favorites#9����������� ������������������ W"크로스핏"+"맥주"+"소주"+"자바"X����������� ������������������ u(:����������� ������������������
����������� ������������������ ][-Z hngm-bgl km't"name"9"이제훈"#+favorites#9����������� ������������������ W"자전거"+"등산"X����������� ������������������ u(:����������� ������������������
����������� ������������������ ][-Z hngm-bgl km't"name"9"김장현"#+favorites#9����������� ������������������ W"자전거"+"등산"+"여자"X����������� ������������������ u(:����������� ������������������
����������� ������������������
0-����������� ������������������ _Zohkbm l����������� ������������������ 가����������� ������������������ 배열����������� ������������������ 일����������� ������������������ 경우����������� ������������������ x맥주y����������� ������������������ 라는����������� ������������������ 문자열이����������� ������������������ 존재����������� ������������������ 할경우����������� ������������������ 해당����������� ������������������ ]h nf gm����������� ������������������ 를����������� ������������������ 리턴함����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������
����������� ������������������ ][-Z hngm-_bg]'tfavorites9"맥주"u(:����������� ������������������
����������� ������������������
1-����������� ������������������ 배열안의����������� ������������������ 요소를����������� ������������������ 대상으로����������� ������������������ $ m����������� ������������������ +����������� ������������������ $em����������� ������������������ +����������� ������������������ 리터럴검색����������� ������������������ 또한����������� ������������������ 가능함����������� ������������������
4.2.5! 배열안의 요소로 검색 ( Using $in and $all ) ����������� ������������������ ����������� ������������������
1.#$all#
����������� ������������������
패턴����������� ������������������ 9����������� ������������������ ����������� ������������������ _Zohkbm l����������� ������������������ 9����������� ������������������ t����������� ������������������ ����������� ������������������ $Zee����������� ������������������ 9����������� ������������������ W"자전거"+"등산"X����������� ������������������ ����������� ������������������ u����������� ������������������ ����������� ������������������
07����������� ������������������
����������� ������������������
����������� ������������������
배열안에����������� ������������������ 모든����������� ������������������ 요소가����������� ������������������ 존재����������� ������������������ 해야함����������� ������������������ '다른거는����������� ������������������ 더����������� ������������������ 있어도됨(����������� ������������������
����������� ������������������
����������� ������������������ ][-Z hngm-_bg]'t����������� ������������������ favorites9t$all9W"자전거"+"등산"Xu����������� ������������������ ����������� ������������������ u(����������� ������������������ :����������� ������������������
����������� ������������������
2.#$in#:#lje����������� ������������������ 의����������� ������������������ bg����������� ������������������ 과����������� ������������������ 비슷함����������� ������������������ #
����������� ������������������
이름이����������� ������������������ W"박승현"+"김성환"X����������� ������������������ 중에����������� ������������������ 하나라도����������� ������������������ 포함되는����������� ������������������ ]h nf gm����������� ������������������ 조회����������� ������������������
����������� ������������������
����������� ������������������ ][-Z hngm-_bg]'tname#9����������� ������������������ t����������� ������������������ $in#9����������� ������������������ W"박승현"+"김성환"X����������� ������������������ u����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
취미가����������� ������������������ Wx자전거y+y맥주yX����������� ������������������ 중����������� ������������������ 하나를����������� ������������������ 포함하는����������� ������������������ 경우����������� ������������������
����������� ������������������
����������� ������������������ ][-Z hngm-_bg]'����������� ������������������ t����������� ������������������ favorites#9����������� ������������������ t����������� ������������������ $in#9����������� ������������������ W����������� ������������������ "자전거"#+����������� ������������������ "맥주"#X����������� ������������������ u����������� ������������������ u����������� ������������������ (-ik mmr'(����������� ������������������ :����������� ������������������
����������� ������������������
4.2.6! 하위 다큐먼트 검색 ( Queries with Dot Notation )
����������� ������������������
����������� ������������������
.)����������� ������������������ 테스트����������� ������������������ 데이터����������� ������������������ 입력����������� ������������������ ).����������� ������������������
����������� ������������������
][-nl kl-bgl km'����������� ������������������ t����������� ������������������
"gZf "����������� ������������������ 9����������� ������������������ "kb aZk]"����������� ������������������ +����������� ������������������ ����������� ������������������
" fZbe"����������� ������������������ 9����������� ������������������ t����������� ������������������ ����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ phkd����������� ������������������ 9����������� ������������������ "kb aZk]>0/ g- hf"+����������� ������������������ i klhgZe����������� ������������������ 9����������� ������������������ "dk nm k> qZfie - hf"����������� ������������������
u����������� ������������������ ����������� ������������������
u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������
사용자의����������� ������������������ fZbe����������� ������������������ 중에����������� ������������������ xphkdy����������� ������������������ 가����������� ������������������ xkb aZk]>0/ g- hfy����������� ������������������ 인����������� ������������������ 다큐먼트를����������� ������������������ 검색����������� ������������������ ����������� ������������������
����������� ������������������
][-nl kl-_bg]'����������� ������������������ t����������� ������������������ fZbe����������� ������������������ 9����������� ������������������ t����������� ������������������ phkd����������� ������������������ 9����������� ������������������ "kb aZk]>0/ g- hf"����������� ������������������ u����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������ .)����������� ������������������ '����������� ������������������ U����������� ������������������ (����������� ������������������ ).����������� ������������������
][-nl kl-_bg]'����������� ������������������ t����������� ������������������ " fZbe-phkd"����������� ������������������ 9����������� ������������������ "kb aZk]>0/ g- hf"����������� ������������������ ����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������ .)����������� ������������������ '����������� ������������������ L����������� ������������������ (����������� ������������������ ).����������� ������������������
����������� ������������������
_bg]����������� ������������������ 의����������� ������������������ 조건은����������� ������������������ 동일����������� ������������������ h[c m����������� ������������������ 를����������� ������������������ 비교����������� ������������������ 하는것이����������� ������������������ 아니라����������� ������������������ 조회����������� ������������������ 조건을����������� ������������������ GPLK����������� ������������������ 으로����������� ������������������ 표현한것-����������� ������������������ ����������� ������������������
����������� ������������������
4.3!쿼리와#커서리턴# (#Querying,#Cursors#)#����������� ������������������ ����������� ������������������ ����������� ������������������
몽고쉘에서����������� ������������������ 쿼리����������� ������������������ 결과를����������� ������������������ 화면에����������� ������������������ 보이게����������� ������������������ 하기����������� ������������������ ����������� ������������������
쿼리����������� ������������������ 결과를����������� ������������������ '커서형(����������� ������������������ 변수로����������� ������������������ 받는다����������� ������������������ ����������� ������������������
����������� ������������������
08����������� ������������������
����������� ������������������
사용법����������� ������������������
����������� ������������������
oZk����������� ������������������ nk����������� ������������������ ;����������� ������������������ ][-i hie -_bg]'(:����������� ������������������ ����������� ������������������
gnee:����������� ������������������
����������� ������������������
nk-aZlK qm'(����������� ������������������ 와����������� ������������������ nk-g qm'(����������� ������������������ 변수를����������� ������������������ 사용:����������� ������������������ ����������� ������������������
nk-lhkm'����������� ������������������ t����������� ������������������ gZf ����������� ������������������ 9����������� ������������������ ,0����������� ������������������ u����������� ������������������ (����������� ������������������ {����������� ������������������ 이름으로����������� ������������������ 역순����������� ������������������ 정렬����������� ������������������
nk-ebfbm'����������� ������������������ 2����������� ������������������ (����������� ������������������ {����������� ������������������ 커서에����������� ������������������ 2개만����������� ������������������ 넣기����������� ������������������
nk-ldbi'����������� ������������������ 1����������� ������������������ (����������� ������������������ {����������� ������������������ 1개를����������� ������������������ 스킵하기����������� ������������������ ����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������
����������� ������������������ ][-i hie -_bg]'(-ebfbm'2(����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ {����������� ������������������ 2개����������� ������������������ 가져옴����������� ������������������
����������� ������������������ ][-i hie -_bg]'(-ldbi'2(-ebfbm'1(����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ {����������� ������������������ 2개����������� ������������������ 가져옴����������� ������������������
����������� ������������������ ����������� ������������������
ldbi����������� ������������������ 은����������� ������������������ 항상����������� ������������������ ebfbm����������� ������������������ 보다����������� ������������������ 앞서����������� ������������������ 실행함����������� ������������������
frlje����������� ������������������ 9����������� ������������������ ebfbm����������� ������������������ 2+1/����������� ������������������ ����������� ������������������
][-i hie -_bg]'(-ldbi'2(-ebfbm'1/(����������� ������������������
����������� ������������������
4.4! count#해보기# (#Counting#Results#)#����������� ������������������
예����������� ������������������ (����������� ������������������ l hk l����������� ������������������ 컬렉션에서����������� ������������������ mri ����������� ������������������ 이����������� ������������������ x llZry이고����������� ������������������ l hk ����������� ������������������ 가����������� ������������������ 8/보다����������� ������������������ 큰����������� ������������������ ]h nf gm����������� ������������������ 를����������� ������������������ 검색����������� ������������������
����������� ������������������
����������� ������������������ ][-l hk l- hngm'ttype9"essay"+score9t$gt98/uu(����������� ������������������ :����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
4.5! update#고급#표현들#����������� ������������������
ni]Zm ����������� ������������������ 기본����������� ������������������ '����������� ������������������ Tahe lZe ����������� ������������������ Ri]Zmbg ����������� ������������������ h_����������� ������������������ Z����������� ������������������ Bh nf gm����������� ������������������ (����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -ni]Zm '����������� ������������������ t����������� ������������������ 검색조건����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ 바꿀����������� ������������������ 내용����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
{����������� ������������������ 검색����������� ������������������ 조건에����������� ������������������ 해당하는����������� ������������������ 임의의����������� ������������������ 0개의����������� ������������������ 문서에����������� ������������������ 대하여+����������� ������������������ t바꿀내용u����������� ������������������ 으로����������� ������������������ k ieZ ����������� ������������������ 한다-'주의(����������� ������������������
����������� ������������������
update#일반# ,#$set#,#$inc#사용# (#Using#the#$set#Command#)#
#
0-����������� ������������������ $l m����������� ������������������ 을����������� ������������������ 사용하여����������� ������������������ 실질적으로����������� ������������������ ni]Zm ����������� ������������������ 하고����������� ������������������ 싶은����������� ������������������ 필드만����������� ������������������ 업데이트한다-����������� ������������������ ����������� ������������������
1/����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
][-i hie -ni]Zm '����������� ������������������ t����������� ������������������ 검색조건����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ $l m����������� ������������������ 9����������� ������������������ t����������� ������������������ 바꿀����������� ������������������ 내용����������� ������������������ u����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������
1-����������� ������������������ $bg ����������� ������������������ 를����������� ������������������ 사용하여����������� ������������������ 특정����������� ������������������ 필드에����������� ������������������ 해당하는����������� ������������������ 숫자만큼����������� ������������������ 증가����������� ������������������ 시킨다-����������� ������������������ 해당����������� ������������������ 필드가����������� ������������������ 없으면����������� ������������������ 생성한다-����������� ������������������
����������� ������������������
����������� ������������������
][-i hie -ni]Zm '����������� ������������������ t����������� ������������������ 검색조건����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ $inc#9����������� ������������������ t����������� ������������������ age#9����������� ������������������ 0����������� ������������������ u����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
{����������� ������������������ Z ����������� ������������������ ;����������� ������������������ Z ����������� ������������������ *����������� ������������������ 0����������� ������������������ 함����������� ������������������ ����������� ������������������
주의����������� ������������������ 0개만����������� ������������������ ni]Zm ����������� ������������������ 된다-����������� ������������������ ����������� ������������������
����������� ������������������
업데이트#일반#문법#
����������� ������������������
][-i hie -ni]Zm '����������� ������������������ t����������� ������������������ 검색조건����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ $l m����������� ������������������ 9����������� ������������������ t����������� ������������������ 바꿀내용����������� ������������������ u����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ multi#9����������� ������������������ true#u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������
아토믹����������� ������������������ 트렌젝션+����������� ������������������ 아이솔레이트는����������� ������������������ 안됨����������� ������������������ '샤딩을����������� ������������������ 생각해����������� ������������������ 보자(����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
4.6!필드삭제# (#Using#the#$unset#Command#)#����������� ������������������ ����������� ������������������
t����������� ������������������ $ngl m����������� ������������������ 9����������� ������������������ t����������� ������������������ 필드����������� ������������������ 9����������� ������������������ 0����������� ������������������ u����������� ������������������ u����������� ������������������ 을����������� ������������������ 이용해서����������� ������������������ 필드����������� ������������������ 삭제����������� ������������������ ����������� ������������������
����������� ������������������ {����������� ������������������ 운영����������� ������������������ 중����������� ������������������ 설계����������� ������������������ 변경이����������� ������������������ 있을����������� ������������������ 경우����������� ������������������ +����������� ������������������ gnee����������� ������������������ 이����������� ������������������ 들어����������� ������������������ 있는����������� ������������������ 필드를����������� ������������������ 삭제����������� ������������������ 하고����������� ������������������ 싶은����������� ������������������ 경우����������� ������������������
����������� ������������������
4.7!배열#다루기# #����������� ������������������
$inla+����������� ������������������ $ihi+����������� ������������������ $inee+����������� ������������������ $inla?ee+����������� ������������������ $inee?ee+����������� ������������������ $Z]]QhP m����������� ������������������ ����������� ������������������ 등을����������� ������������������ 이용하여����������� ������������������ 배열을����������� ������������������ 다루어����������� ������������������ 보자-����������� ������������������
����������� ������������������
����������� ������������������
.)����������� ������������������ m lm����������� ������������������ 용����������� ������������������ bgl km����������� ������������������ ).����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-bgl km����������� ������������������ '����������� ������������������ t_id#9/����������� ������������������ +����������� ������������������ a#9����������� ������������������ W����������� ������������������ 0+1+2+3����������� ������������������ X����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
10����������� ������������������
����������� ������������������
4.7.1! 배열 요소 index 로 update 하기 ( $set ) ����������� ������������������ ����������� ������������������ ����������� ������������������
Z����������� ������������������ 배열의����������� ������������������ /번째����������� ������������������ 요소����������� ������������������ 업데이트����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-ni]Zm ����������� ������������������ '����������� ������������������ ����������� ������������������ t_id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ $set#9����������� ������������������ t"a.0"#9����������� ������������������ 4����������� ������������������ u����������� ������������������ ����������� ������������������ u(:����������� ������������������
����������� ������������������
����������� ������������������
4.7.2! 배열 요소에 넣기 ( $push ) ( [] ← 넣기 ) ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������
Z����������� ������������������ 배열에����������� ������������������ 0//����������� ������������������ 이란����������� ������������������ 값을����������� ������������������ 넣기����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-ni]Zm '����������� ������������������ t����������� ������������������ _id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ ����������� ������������������ $push#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ 0//����������� ������������������ u����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
4.7.3! 배열 요소에서 빼기 ( $pop ) ����������� ������������������ ����������� ������������������
WX����������� ������������������ {����������� ������������������ 빼기����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-ni]Zm '����������� ������������������ t����������� ������������������ _id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ ����������� ������������������ $pop#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ ����������� ������������������ 0����������� ������������������ u����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������
빼기����������� ������������������ ����������� ������������������ WX����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-ni]Zm '����������� ������������������ t����������� ������������������ _id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ ����������� ������������������ $pop#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ ,0����������� ������������������ u����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������
4.7.4! 배열에 많이 넣기 ( $pushAll ) ����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-ni]Zm '����������� ������������������ t����������� ������������������ _id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ ����������� ������������������ $pushAll#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ W����������� ������������������ 6����������� ������������������ +����������� ������������������ 7����������� ������������������ +����������� ������������������ 8����������� ������������������ X����������� ������������������ u����������� ������������������ ����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
11����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������
4.7.5! 특정 요소 빼기 ( $pull ) ����������� ������������������
����������� ������������������
][-ZkkZrl-ni]Zm '����������� ������������������ t_id9/u+����������� ������������������ t$pull#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ 6����������� ������������������ uu����������� ������������������ (����������� ������������������ :����������� ������������������ ����������� ������������������ .)����������� ������������������ 전부����������� ������������������ 다뺀다-����������� ������������������ ).����������� ������������������
����������� ������������������
����������� ������������������
여기서����������� ������������������ 테스트!!����������� ������������������ ZkkZr����������� ������������������ 에����������� ������������������ clhg����������� ������������������ h[c m����������� ������������������ 를����������� ������������������ 넣고����������� ������������������ 특정����������� ������������������ h[c m����������� ������������������ 를����������� ������������������ 뺄수����������� ������������������ 잇을까=����������� ������������������ 일단����������� ������������������ 넣어보자-����������� ������������������
����������� ������������������
����������� ������������������
.)����������� ������������������ 테스트����������� ������������������ 배열요소����������� ������������������ 넣기����������� ������������������ ).����������� ������������������
����������� ������������������
][-ZkkZrl-ni]Zm '����������� ������������������ t����������� ������������������ _id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ $pushAll#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ W����������� ������������������ tname9"ppillip"+age900u����������� ������������������ X����������� ������������������ u����������� ������������������ u����������� ������������������ (:����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������
빼기����������� ������������������
����������� ������������������
][-ZkkZrl-ni]Zm '����������� ������������������ t_id9/u+����������� ������������������ t$pull#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ tname9"ppillip"u����������� ������������������ uu����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
.)����������� ������������������ Z����������� ������������������ 요소중����������� ������������������ gZf ����������� ������������������ 이����������� ������������������ iibeebi����������� ������������������ 인����������� ������������������ 요소����������� ������������������ 삭제����������� ������������������ ).����������� ������������������
����������� ������������������
����������� ������������������
{����������� ������������������ Z����������� ������������������ 배열에서����������� ������������������ tgZf 9"iibeebi"+Z 900u����������� ������������������ 이����������� ������������������ 삭제����������� ������������������ 된다-����������� ������������������ !!!!����������� ������������������ 굿!!!����������� ������������������ ����������� ������������������
����������� ������������������ ����������� ������������������
4.7.6! 중복을 피하여 넣기 ( $addToSet )
����������� ������������������
동일한����������� ������������������ 값의����������� ������������������ 요소가����������� ������������������ 있으면����������� ������������������ 넣지����������� ������������������ 않고����������� ������������������ 없을����������� ������������������ 경우에만����������� ������������������ inla����������� ������������������ 한다-����������� ������������������
����������� ������������������ ����������� ������������������
����������� ������������������
����������� ������������������ ][-ZkkZrl-ni]Zm '����������� ������������������ t����������� ������������������ _id#9����������� ������������������ /����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ $addToSet#9����������� ������������������ t����������� ������������������ a#9����������� ������������������ 4����������� ������������������ u����������� ������������������ u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������
중복����������� ������������������ 허용����������� ������������������ 하지����������� ������������������ 않는����������� ������������������ 하위����������� ������������������ ]h nf gm����������� ������������������ 목록����������� ������������������ 만들기����������� ������������������ ����������� ������������������
{����������� ������������������ 0����������� ������������������ 9����������� ������������������ g����������� ������������������ 패턴에서����������� ������������������ 0����������� ������������������ 쪽에����������� ������������������ 링크를����������� ������������������ 가지고����������� ������������������ 있는����������� ������������������ 경우-����������� ������������������ ����������� ������������������
{����������� ������������������ 이����������� ������������������ 글을����������� ������������������ 읽는����������� ������������������ 사람을����������� ������������������ 구현����������� ������������������ 할����������� ������������������ 경우����������� ������������������ ����������� ������������������
)����������� ������������������ 이����������� ������������������ 글을����������� ������������������ 읽은����������� ������������������ 사람을����������� ������������������ 구현����������� ������������������ 할경우는����������� ������������������ h[c m����������� ������������������ 를����������� ������������������ 사용하는����������� ������������������ 것을����������� ������������������ 고려����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
12����������� ������������������
����������� ������������������
����������� ������������������
4.7.7! 없으면 insert 있으면 update ( $upsert ) ����������� ������������������ ����������� ������������������ ����������� ������������������
실행����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -ni]Zm ����������� ������������������ '����������� ������������������ t����������� ������������������ name#9����������� ������������������ "ppillip"+����������� ������������������ ����������� ������������������ sex9"male"#u����������� ������������������ +����������� ������������������ t����������� ������������������ $set#9����������� ������������������ t����������� ������������������ age#9����������� ������������������ 2/����������� ������������������ u����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ upsert#9����������� ������������������ true#u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������ ][-i hie -ni]Zm ����������� ������������������ '����������� ������������������ t����������� ������������������ name#9����������� ������������������ "ppillip2"+����������� ������������������ ����������� ������������������ sex9"male"#u����������� ������������������ +����������� ������������������ t����������� ������������������ $set#9����������� ������������������ t����������� ������������������ age#9����������� ������������������ 2/����������� ������������������ u����������� ������������������ u����������� ������������������ +����������� ������������������ t����������� ������������������ upsert#9����������� ������������������ true#u����������� ������������������ (����������� ������������������ :����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
결과����������� ������������������
����������� ������������������
t����������� ������������������ " b]"����������� ������������������ 9����������� ������������������ L[c mF]'"41087516/42]40Z45] ]82_1"(+����������� ������������������ "Z "����������� ������������������ 9����������� ������������������ 2/+����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "iibeebi"����������� ������������������ +����������� ������������������ "l q"����������� ������������������ 9����������� ������������������ "fZe "����������� ������������������ u����������� ������������������
����������� ������������������
t����������� ������������������ " b]"����������� ������������������ 9����������� ������������������ L[c mF]'"410876[8/42]40Z45] ]82_2"(+����������� ������������������ "Z "����������� ������������������ 9����������� ������������������ 2/+����������� ������������������ "gZf "����������� ������������������ 9����������� ������������������ "iibeebi1"+����������� ������������������ "l q"����������� ������������������ 9����������� ������������������ "fZe "����������� ������������������ u����������� ������������������
����������� ������������������
����������� ������������������
조회����������� ������������������ 조건을����������� ������������������ 포함해서����������� ������������������ 디비에����������� ������������������ 들어감����������� ������������������
����������� ������������������
주의����������� ������������������ 9����������� ������������������ 검색����������� ������������������ 조건에����������� ������������������ $ m����������� ������������������ +����������� ������������������ $em����������� ������������������ 등����������� ������������������ 고정����������� ������������������ 값이����������� ������������������ 아닌����������� ������������������ 경우는����������� ������������������ 해당����������� ������������������ 조건이����������� ������������������ 필드로����������� ������������������ 들어����������� ������������������ 가지����������� ������������������ 않음����������� ������������������
{����������� ������������������ 검색����������� ������������������ 조건이����������� ������������������ 정확����������� ������������������ 하지����������� ������������������ 않을����������� ������������������ 경우����������� ������������������ 원하지����������� ������������������ 않는����������� ������������������ 값이����������� ������������������ FKPCOQ����������� ������������������ 되므로����������� ������������������ 조심����������� ������������������ 해야����������� ������������������ 함����������� ������������������ ����������� ������������������
����������� ������������������ '����������� ������������������ RKFNRC����������� ������������������ 필드들로����������� ������������������ 검색����������� ������������������ 하는����������� ������������������ 것이����������� ������������������ 좋음(����������� ������������������
����������� ������������������
����������� ������������������
5! 집계# (#Aggregation#)#
����������� ������������������
6! 모델링# (#modeling#)#
����������� ������������������
����������� ������������������
7! 부록# #
7.1! RDBMS#와#질의#비교#����������� ������������������
����������� ������������������