기존의 값을 이용해서 update / 다른 field 값을 이용해서 update / 업데이트 / 몽고db / query
mongodb 에서 기존의 값을 이용해서 update 하는 방법
ref.1 에서 아래와 같이 이야기 한다.
Using the aggregation pipeline allows for a more expressive update statement, such as expressing conditional updates based on current field values or updating one field using the value of another field(s).
위 문서에서도 이야기 하듯이, aggregation 을 이용해서 현재값을 기반으로 새로운 값을 update 하거나, 다른 field 의 값을 이용해서 update 할 수 있다.
주의할 점은 aggregation 이기에 []
를 써야한다는 것이다.
2개의 update 동작도 같이 실행할 수 있다.
// mycoll
{ _id: 1, test: [1,2,3], testval: 5}
// query
// myid 에 _id 값을 넣고(field 가 없으면 생성), testval2 에는 testval 을 넣는다.
db.mycoll.update(
{ testval : {$ne: 5}},
[
{ $set : {myid: "$_id"} },
{ $set : {testval2: "$testval"}}
]
)
더 많은 예제는 ref.1 에서 볼 수 있다.
댓글 없음:
댓글 쓰기