$set ( 삽입 혹은 갱신 )
db.users.update({"_id:": ObjectId("~~~")}, {"$set": {"key": value}});
$unset ( 키/값 제거)
db.users.update({"_id:": ObjectId("~~~")}, {"$unset": {"key": 1}});
db.collection.find() // 배열로 뱉음
db.collection.findOne() // 1개의 문서만 뱉음
find, update, remove 모두 제일 첫번째 인자는 criteria(기준)이다.
ex. "name"이 gekim을 변경할때는
db.users.update({"name": "gekim"}, {"$set": ~~~})
$inc (값을 증감 한다. -생성/수정)
db.users.insert({"name": "gekim"});
db.users.update({"name": "gekim"}, {"$inc": { "score": 50}});
{ "_id" : ObjectId("5b88262dfe4e073c7fc9447f"), "name" : "gekim", "score": 50 }
db.users.update({"name": "gekim"}, {"$inc": {"score": 12}});
{ "_id" : ObjectId("5b88262dfe4e073c7fc9447f"), "name" : "gekim" "score": 62 }
db.users.update({"name": "gekim"}, {"$inc": {"score": -60}});
{ "_id" : ObjectId("5b88262dfe4e073c7fc9447f"), "name" : "gekim", "score": 2 }
$push (지정된 키가 존재하면 배열 끝에 추가/생성한뒤 추가)
> db.users.insert({"key": 1})
WriteResult({ "nInserted" : 1 })
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1 }
>
> db.users.insert({"key": 1024})
WriteResult({ "nInserted" : 1 })
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1 }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024 }
>
> db.users.update({"key": 1}, {$push: {"comments": "a"}}) // create
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a" ] }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024 }
> db.users.update({"key": 1}, {$push: {"comments": "seoul"}}) // insert
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul" ] }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024 }
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul" ] }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024 }
>
> db.users.find({"comments": {$ne: "seoul"}})
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024 }
>
$ne 를 써서 update
> db.users.update({"comments": {$ne: "seoul"}}, {$push: {"comments": "seoul"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul" ] }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024, "comments" : [ "seoul" ] }
$addToSet ($ne랑 비슷하지만, 중복키 안들어가게 add to set 만 하는 녀석)
> db.users.update({"key": 1}, {$addToSet: {"comments": "seoul"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul" ] }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024, "comments" : [ "seoul" ] }
>
> db.users.update({"key": 1}, {$addToSet: {"comments": "seoul_korea"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul", "seoul_korea" ] }
{ "_id" : ObjectId("5b8827fffe4e073c7fc94481"), "key" : 1024, "comments" : [ "seoul" ] }
>
$each ($addToSet과 조합해서 사용 가능)
> db.users.update({"key": 1}, {$addToSet: {"comments": {$each: ["seoul_korea", "seoul", "bangbae", "samsung"] }}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul", "seoul_korea", "bangbae", "samsung" ] }
$pop (배열 제거, $pop: {key: 1} 배열의 끝부터 제거, $pop: {key: -1} 배열의 처음부터 제거
> db.users.find()
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "a", "seoul", "seoul_korea", "bangbae", "samsung" ] }
> db.users.update({"key": 1}, {$pop: {comments: -1}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find({"key": 1})
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "seoul", "seoul_korea", "bangbae", "samsung" ] }
>
> db.users.update({"key": 1}, {$pop: {comments: 1}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find({"key": 1})
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "seoul", "seoul_korea", "bangbae" ] }
>
$pull (주어진 조건에 일치하는 배열 요소 제거)
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "seoul", "seoul_korea", "bangbae"] }
> db.users.update({"key": 1}, {$pull: {comments: "seoul_korea"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.users.find({"key": 1})
{ "_id" : ObjectId("5b8827dafe4e073c7fc94480"), "key" : 1, "comments" : [ "seoul", "bangbae" ] }
'프로그래밍 > ETC' 카테고리의 다른 글
몽고디비 (디비/컬렉션 생성/삭제) (0) | 2018.08.31 |
---|---|
C#은 신세계 (0) | 2014.01.17 |
SQL Server 2012 설치 실패 ( .Net Framework 3.5 ) (0) | 2014.01.16 |
스컬프트 컴포트 마우스 (0) | 2014.01.14 |
GETDATE() 로 얻은 날짜 데이터를 원하는 STRING FORMAT로 CONVERT (0) | 2014.01.14 |