반응형
데이터 수정
데이터를 수정하려면 update
메소드를 사용한다
/* name이 eatnows인 데이터의 age의 값을 25로 수정 */
db.컬렉션이름.update( {name: "eatnows"}, {$set: {age: 25} })
document를 아예 새로운 document로 대체하고 싶을때는 $set연산자를 사용하지 않으면 된다.
/* name이 eatnows인 값을 name은 victory, age는 1로 변경 */
db.컬렉션이름.update( { name: "eatnows" }, { "name" : "victory", age: 1} )
데이터의 값은 완전 변경이 되었지만 데이터의 id값은 변경이 되지 않고 동일하다.
field 삭제
특정 field의 값을 삭제할 경우 $unset
이라는 연산자를 사용한다.
/* name이 eatnows인 데이터의 score 데이터를 삭제 */
db.컬렉션이름.update( {name: "eatnows"}, {$unset: {score: 1}})
upsert
옵션을 사용하여 수정할 데이터가 없다면 새로 데이터를 추가할 수 있다.
/* name이 eatnows인 데이터가 있으면 수정, 없으면 새로 추가한다. */
db.컬렉션이름.update( {name: "eatnows"}, {name:"eatnows", age: 20}, {upsert: true})
배열 field에 값 추가
배열에 원소를 추가할때는 $push
연산자를 사용한다.
db.컬렉션이름.update(
{name: "eatnows"},
{$push: { skills: "React"}}
)
여러개의 값을 추가하고 싶을때는 $push
연산자 다음에 $each
연산자를 사용하여 배열을 전달해주면 된다.
/* name이 eatnows인 document의 skills에 java와 javascript를 추가하고 알파벳 순으로 정렬 */
db.컬렉션이름.update(
{name: "eatnows"},
{$push: {
skills: {
$each: ["java", "javascript"],
$sort: 1
}
}
)
배열 field에서 값을 제거
배열 field에서 값을 제거하고 싶을때는 $pull
연산자를 사용한다.
db.컬렉션이름.update(
{name: "eatnows"},
{$pull: {skills: "mongodb"}}
)
값을 여러개 제거하고 싶을때는 $in
연산자를 사용한다.
db.컬렉션이름.update(
{name: "eatnows"},
{$pull: {skills: {$in: ["java", "React"]}}}
)
반응형
'DATABASE > MongoDB' 카테고리의 다른 글
[MongoDB] 데이터 조회 (0) | 2020.07.28 |
---|---|
[MongoDB] 기본 명령어 (db, collection, document 생성 제거) (0) | 2020.07.28 |