이 포스팅은 인프런의 'NoSQL/DB(몽고DB) 기초와 파이썬 활용' 강의를 들으면서 정리한 내용입니다 :)
mongodb 에서 document 를 읽을 때는
아래와 같은 형태로 find를 쓰면 됩니다.
우선 employees 컬렉션을 만들고 document를 집어넣겠습니다.
컬렉션을 만들고 5개의 Doc 가 들어가 있습니다.
이제 정리를 위해 터미널에서 명령어들을 실행해보겠습니다.
지금부터 read 명령어들을 rdbms 와 비교해서 설명하겠습니다.
비유한 rdbms 의 쿼리문 정도는 알고 계신다고 생각하고 설명하겠습니다 :)
db.컬렉션.find()
-> SELECT * FROM 테이블명
과 같은 명령어입니다.
db.people.find({ }, { user_id: 1, status: 1 })
-> SELECT _id, user_id, status FROM people
db.people.find({ },{ user_id: 1, status: 1, _id: 0 })
-> SELECT user_id, status FROM people
db.people.find({ status: "A" })
-> SELECT * FROM people WHERE status = "A"
db.people.find({ status: "A", age: 50 })
-> SELECT * FROM people WHERE status = "A" AND age = 50
db.people.find({ $or: [ { status: "A" } , { age: 50 } ] })
-> SELECT * FROM people WHERE status = "A" OR age = 50
자, 그러면 간단한 문제를 풀어보겠습니다.
정답 공개!
-1번-
-2번-
-3번-
계속해서 비교문법을 다뤄보겠습니다.
위에서 집어넣은 데이터들을 확인해보구요.
아래의 표를 기억해주세요!
강사님이 정리해주신 비교문법 표입니다 :)
eq 는 equal 의 줄임말
gt 는 greater 의 줄임말
gte 는 greate than or equal 의 줄임말 임을
위 표를 통해 확인할 수 있습니다.
몇 가지 비교문법을 적용한 예제입니다.
find 안에서 먼저 기준으로 삼으려는 키값을 넣어줍니다 (age)
그 다음 조건을 비교문법얼 이용해서 적어줍니다.
예를 들어 30 이상 이라는 조건을 넣으려고 한다면 { $lt: 30 } 으로 넣어줍니다.
검색도 똑같습니다. bc 라는 글자가 들어간 것을 찾가 싶다면
먼저 기준인 user_id 라고 입력해주고 그 뒤에 조건을 넣어주세요.
'bc'가 들어간 Document 만 보여줘 라고 하려면
/bc/
를 입력해줍니다. 위에서 슬러시는 bc 만 들어있으면 앞에 있든 중간에 있든, 맨 뒤에 있든 상관없이 검색을 해줍니다.
만약에 "bc" 라고 조건을 넣는다면 bc 만 있는 Docu를 검색해줍니다.
쌍따옴표일 때와 슬러시일때의 검색 조건이 다르게 적용한다점 기억해주세요~
아래는 count 를 해보는 예제입니다. 한 번 보시고 따라하시면 감이 옵니다 :)
robo 에서 실습해보겠습니다.
문제를 풀어보겠습니다.
문제 순서대로 정답을 나열했습니다.
참고하셔서 맞춰 보시면 될 것 같습니다 :)
이상 포스팅 마치겠습니다 :)
'CS+ > SQL' 카테고리의 다른 글
pymongo 입문하기 python, mongodb (0) | 2020.04.12 |
---|---|
MongoDB 입문 3단계 document 수정(update) , 삭제(delete) (0) | 2020.04.12 |
MongoDB 입문 1단계 실행 (start, status, use) , 입력(insert) (0) | 2020.04.11 |
SQL JOIN - left join, inner join (feat. MY SQL) (0) | 2020.02.11 |
Mysql - LIKE , IF, CASE (0) | 2020.02.08 |