14. MongoDB Query Part 4. - $size
이번 포스팅에서는 find
query의 $size
key를 이용한 검색에 대하여 알아보도록 하겠습니다.
$size
는 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"]})
> db.food.insert({"_id" : 4, "fruit" : ["pineapple", "plum"]})
ID 1, 2, 3에 대해서는 "fruit"의 array 사이즈가 모두 3입니다 (즉 array의 아이템이 3개이다).
이에 반해서 ID 4는 "fruit"에 대한 array의 사이즈가 2입니다.
다음과 같이 입력해 보겠습니다:
> db.food.find({"fruit" : {"$size" : 2}})
{ "_id" : 4, "fruit" : [ "pineapple", "plum" ] }
"fruit"의 array 크기가 2인 것을 검색했으므로 ID 4만이 검색되었습니다.
만약 array 크기가 3 이상의 도큐먼트를 검색하려면 다음을 이용합니다:
> db.food.find({"size" : {"$gt" : 3}})