일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 빅데이타
- 김양재 목사님
- 통계
- openCV
- Artificial Intelligence
- 몽고디비
- 확률
- probability
- R
- nodeJS
- 빅데이터
- 우리들교회
- No SQL
- Machine Learning
- data science
- 데이터 과학
- WebGL
- Statistics
- MongoDB
- 딥러닝
- 빅 데이터
- 인공지능
- node.js
- 김양재 목사
- 빅 데이타
- 김양재
- c++
- Big Data
- Deep learning
- 주일설교
- Today
- Total
Scientific Computing & Data Science
[MongoDB] Update Modifiers / Part 5. - $addToSet 본문
[MongoDB] Update Modifiers / Part 5. - $addToSet
cinema4dr12 2014. 1. 26. 00:42Written by cinema4d
앞서 설명한 바와 같이 "$push" modifier를 통해 동일한 아이템을 추가할 경우 중복적으로 추가됨을 살펴 보았다.
만약 동일한 아이템을 추가할 때 중복적으로 추가하지 않도록 하려면 "$addToSet" modifier를 사용하면 된다.
우선 다음과 같이 입력해 보자.
use foobar
var user = {"username" : "gchoi", "age" : 37};
db.users.insert(user);
db.users.update({"username" : "gchoi"}, {$push : {"email" : "gchoi@gmail.com"}});
결과를 확인해 보면 다음과 같다.
> db.users.find() { "_id" : ObjectId("52e3d4dd623bbd008840d671"), "age" : 37, "email" : [ "gchoi@gmail.com" ], "username" : "gchoi" }
이제 다음과 같이 입력해 보자. "$push" 대신 "$addToSet" modifier가 사용되었음을 유의하자.
db.users.update({"username" : "gchoi"}, {$addToSet : {"email" : "gchoi@gmail.com"}})
결과를 확인해 보면 동일한 "email"이 한 번 더 추가되었음에도 결과에서는 중복적으로 추가되지 않았음을 확인할 수 있다.
> db.users.find() { "_id" : ObjectId("52e3d4dd623bbd008840d671"), "age" : 37, "email" : [ "gchoi@gmail.com" ], "username" : "gchoi" }
"$addToSet"과 "$each"를 함께 사용하면 여러 개의 아이템을 한꺼번에 추가할 수 있다. 가령 여러 개의 "email"을 추가한다고 가정해 보자.
db.users.update({"username" : "gchoi"}, {"$addToSet" : {"email" : {"$each" : ["cinema4dr12@gmail.com", "cinema4d@yahoo.com", "cinema4d@aaa.com"]}}})
결과를 확인해 보자. 여러 개의 "email"이 한 번에 추가되었음을 확인할 수 있을 것이다.
> db.users.findOne() { "_id" : ObjectId("52e3d4dd623bbd008840d671"), "age" : 37, "email" : [ "gchoi@gmail.com", "cinema4dr12@gmail.com", "cinema4d@yahoo.com", "cinema4d@aaa.com" ], "username" : "gchoi" }
'Data Science > MongoDB' 카테고리의 다른 글
[Data Science / MongoDB] WebSocket과 Mongoose를 이용하여 간단한 채팅 프로그램 개발 (0) | 2014.01.28 |
---|---|
[MongoDB] Update Modifiers / Part 6. - $pop / $pull (0) | 2014.01.26 |
[MongoDB] Update Modifiers / Part 4. - $push (0) | 2014.01.25 |
[MongoDB] Application / MongoDB - Node.js 연동하기 (2) | 2014.01.21 |
[MongoDB] Application / Mongo Lab 사용하기 (1) | 2014.01.21 |