본문 바로가기
[ Developer ]/MongoDB

[MongoDB] $push 제한자 이용한 값 넣기

by 김현섭. 2016. 6. 24.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
$push을 이용한 Replies 추가

push를 실습하기 위해서 글 데이터를 입력해본다


잘 입력이 되었다면 db.post.insert(post)를 통해 post를 입력해본다


그리고 findOne을 통해서 subject가 Test인 것을 가져온다


이제 작성글이라고 생각을 하고 reply를 작성해보자


var reply라는 변수에 작성자와 내용을 통해 입력을 했다

그럼 이제 reply를 post에 붙여야 한다 $push를 이용해서 추가한다
붙이려면 update를 이용한다


업데이트를 통해서 바꾸려면 {} (중괄호)를 항상 입력해줘야 한다 (특히 제한자 사용할 때)
기존의 방식을 이용하면 push를 사용할 때 중괄호를 통해서 데이터를 넣어주면 된다


위와 같은 구조는 아래와 같은 구조이다
subject가 Test인 것에 replies라는 배열을 통해서 author와 content를 입력하게 되는 것이다

1
2
3
4
5
6
7
8
> db.post.update({"subject" : "Test"}, 
"$push" : { 
                "replies" :  {
                                "author":"Guest"
                                "content":"Bad~~"
                             }
            } 
} )
cs

위와 같은 형식으로 기존에 추가한 reply 객체를 넣을 수도 있다

1
2
> db.post.update({"subject" : "Test"},
"$push" : { "replies" : reply } })
cs


위와 같이 var reply까지 update를 하면 추가가 된 것을 볼 수 있다


$push는 update를 이용해서 값을 추가를 간단하게 할 수 있다