MongoDB 문법

개발자/MongoDB | 2013. 2. 4. 11:28

데이터 전체 삭제

db.users.remove()

 

특정데이터 삭제

db.users.remove({"name":"joe"})

 

문서 치환

var joe = db.users.findOne({"name":"joe"});

joe.relationships = {"friend":joe.friends,"enemies":joe.enemies};

joe.username = joe.name;

delete joe.friends;

delete joe.enemies;

delete joe.name;

db.users.update({"name":"joe"}, joe);

 

갱신 제한자 (update modifier)

키를 변경, 추가 또는 제거하고 심지어 배열과 내장문서를 조작하는 복잡한 갱신 연산을 지정하는데 사용되는 특수 키다.

"$inc" : 키 값을 증가하는 제한자 (존재하지 않을 경우 생성, 정수형, long형과 double형 값에만 사용가능)

db.analytics.update({"url":"www.example.com"},{"$inc":{"pageviews":1}})

"$set" : 키 값을 설정/변경하는 제한자 (키의 데이터 형도 변경 가능)

db.users.update({"name":"joe"},{"$set": {"favorite book":"war and peace"}})

db.users.update({"name":"joe"},{"$set": {"favorite book":["aaa","bbb","ccc"]}})

db.users.update({"name":"joe"},{"$set": {"friends.name":"joe"},{"$set":{"friends.name":"joe's friend"}})

"$unset": 키와 값을 모두 제거하는 제한자

db.users.update({"name":"joe"},{"$unset",{"favoite book":1}})

 

# 키를 추가하고 변경하고 제거할 때 항상 $ 제한자를 사용해야한다.

 

배열 제한자

배열을 값으로 가진 키에만 사용 가능

"$push" : 지정된 키가 이미 존재하면 배열의 끝에 요소를 추가하고, 그렇지 않으면 새로운 배열을 생성해서 추가

db.blog.posts.update("{"title":"A blog post"},{"$push":{"comments":{"name":"joe","email":"joe@aaa.com","content":"nice post!!"}}})

 

"$ne" : 같은 값이 존재하지 않을 경우에만 배열에 값을 추가

db.papers.update({"authors cited":{"$ne":"aaa"}},{"$push":{"authors cited":aaa"}})

"$addToSet" : 중복을 막기 위해 사용

db.users.update({"name":"joe"},{"$addToSet":{"emails":joe@aaa.com}})

"$each" : 여러 개의 값을 추가 하기 위해 사용

"$addToSet" + "$each" : 여러 개의 고유 값을 추가하기 위해 조합 가능

db.users.update({"name":"joe"},{"$addToSet":{"emails":{"$each",["aaa@aaa.net",bbb@aaa.net]}}})

"$pop" : 배열을 큐(queue)나 스택처럼 쓰고싶다면, 양쪽 끝으로부터 요소를 제거할 때 사용

{"$pop":{"key":1}} 배열의 끝부터 요소 제거

{"$pop":{"key":-1}} 배열의 처음끝부터 요소 제거

"$pull": 배열에서 지정된 조건에 의해 제거해야 하는 경우 사용 (조건 일치하는 배열 요소 제거, 일치하는 모든 문서를 제거)

db.lists.update({},{"$pull":{"todo":"laundry"}})

 

배열의 위치 기반 변경

db.blog.posts.update({"title":"A blog post"},{"$set",{"comments.0.content":"aaa"}})

 

 

 

 

 

 

 

'개발자 > MongoDB' 카테고리의 다른 글

MongoDB 기초  (0) 2013.02.01
,