[MongoDB] 문서에 배열 사용하기

-- MongoDB 2013. 1. 2. 14:29
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
 

문서에 아래와 같이 배열을 추가할 수 있으며, 배열에서 조작을 위해 아래의 제한자들을 사용할 수 있다.
 
> db.person.update({ name : "neo"}, { $set : { favor_no : [1,2] } })

> db.person.update({ name : "joe"}, { $set : { favor_no : [3] } })

 

$all

배열내에하나이상의요소가일치하는배열을찾을사용한다.

 

> db.person.find({ favor_no : { $all : [1,2,3] } })

 

$size

주어진크기인배열을반환

 

> db.person.find({ favor_no : { $size : 2 } })

 

$slice

문서내의배열의값을지정된만큼만조회할사용

 

> db.person.find({}, { favor_no : { $slice : 1 } })

 

1만큼제외하고나머지개를조회


> db.person.find({}, { favor_no : { $slice : [1,2] } })

 

1만큼을뒤에서부터제외하고, 앞에서부터개를조회


> db.person.find({}, { favor_no : { $slice : [-1,2] } })

 

$push

배열내에지정된키가존재한다면끝에, 존재하지않는다면새로운배열을생성하여특정값을추가한다.


> db.person.update( { name : "neo" }, { $push : { "contact" : { "mobile" : "010-1111-1111", "phone" : "02-111-1111" } } } )

 

$addToSet

$push동일한기능을하지만, 중복된데이터는추가되지않는다.


> db.person.update( { name : "neo" }, { $addToSet : { "emaillist" :  "neo@neo.com" } } )

 

$each

$addToSet 내에사용되며배열에여러값들을추가한다.


> db.person.update( { name : "neo" }, { $addToSet : { "emaillist" : { $each : ["neo2@neo.com", "neo3@neo.com"] } } } )

 

$pull

지정한조건에따른배열의요소를제거한다.


> db.person.update( { age : 20 }, { $pull : { "emaillist" : "neo@neo.com" } } )

 

$pop

배열의처음이나마지막요소를제거한다.


> db.person.update( { name : "neo" }, { $pop : { emaillist : 1 } } ) //
마지막

> db.person.update( { name : "neo" }, { $pop : { emaillist : -1 } } ) // 처음

'-- MongoDB' 카테고리의 다른 글

[MongoDB] 인덱스  (0) 2013.01.05
[MongoDB] $where 쿼리  (0) 2013.01.02
[MongoDB] 조건연산  (0) 2013.01.02
[MongoDB] $Type 연산자의 값  (0) 2012.12.28
[MongoDB] MongoDB 기본쿼리  (0) 2012.12.28
posted by 어린왕자악꿍