13. MongoDB Query Part 3. - $all

이번 포스팅에서는 find query의 $all key를 이용한 검색에 대하여 알아보도록 하겠습니다.

우선 다음과 같이 food 컬렉션에 array 타입으로 도큐먼트를 추가합니다:

> db.food.drop()
> db.food.insert({"_id" : 1, "fruit" : ["apple", "banana", "peach"]})
> db.food.insert({"_id" : 2, "fruit" : ["apple", "kumquat", "orange"]})
> db.food.insert({"_id" : 3, "fruit" : ["cherry", "banana", "apple"]})

"apple"과 "banana" 모두를 포함하는 도큐먼트는 ID 1과 ID 3입니다.

$all key를 통해 이 두 가지 모두를 포함하는 도큐먼트를 검색해 보겠습니다:

> db.food.find({fruit : {$all : ["apple", "banana"]}})
{ "_id" : 1, "fruit" : [  "apple",  "banana",  "peach" ] }
{ "_id" : 3, "fruit" : [  "cherry",  "banana",  "apple" ] }

예상대로 ID 1과 3이 검색 되었음을 알 수 있습니다.