더북(TheBook)

이번에는 a가 여러 값 중 하나인 것을 찾아봅시다. SQL 같았으면 다음과 같이 입력하면 될 것입니다.

select * from coll1 where a=1 or a=2

하지만 MongoDB에서는 역시 JSON 형태로 검색 조건을 만들어야 합니다. 먼저 “a = 1이다.”를 정의합시다.

{"a":1}

이번에는 “a = 1이다, a = 2다.”를 배열 객체로 정의합시다. 배열은 대괄호 [] 구문 블록 안에 넣습니다.

[{"a":1},{"a":2}]

이 배열 객체는 or 연산에 쓰일 것이므로 다음과 같이 표시합시다.

{$or:[{"a":1},{"a":2}]}

a = 1 or a = 2 형태의 구문보다는 가독성이 떨어지지만 MongoDB에서는 이렇게 써야만 합니다. 자, 이제 이 구문을 find 함수에 넣읍시다.

db.coll1.find({$or:[{"a":1},{"a":2}]});
p353_1

▲ 그림 8-28 a = 1 또는 a = 2를 만족하는 도큐먼트 찾기

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.