MongoDB 데이터 업데이트 하기 (upsert : 없으면 insert, 있으면 update), $inc 를 이용한 덧셈
아래 예제를 통해 결과를 확인하면 이해가 빠릅니다.
upsert 를 사용하게 되면 조건에 맞는 데이터가 없을 경우 insert 되고, 있을 경우 내용이 update 됩니다.
여기에 $inc 를 이용하여 덧셈 까지 적용하였습니다.
> db.Counting.find();
> db.Counting.update({"Date":"2020-10-20"}, {"$inc":{no:1}}, upsert=true);
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("5f8e2742dce4436d25b4f5a2")
})
no 에 값 1을 입력
> db.Counting.find();
{ "_id" : ObjectId("5f8e2742dce4436d25b4f5a2"), "Date" : "2020-10-20", "no" : 1 }
update 를 사용 했지만 값이 없는 상태 이므로 insert 로 적용 되었습니다.
> db.Counting.update({"Date":"2020-10-20"}, {"$inc":{no:2}}, upsert=true);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
이번엔 no 에 값을 2 입력
> db.Counting.find();
{ "_id" : ObjectId("5f8e2742dce4436d25b4f5a2"), "Date" : "2020-10-20", "no" : 3 }
처음 입력한 값 1 에 2를 더하여 no 가 3이 되었습니다.
'리눅스 > MongoDB' 카테고리의 다른 글
MongoDB 내용을 텍스트 파일로 추출하기 (0) | 2020.10.28 |
---|---|
MongoDB 외부 파일 내용을 불러와서 실행하기 (0) | 2020.10.20 |
MongoDB 도큐멘트를 AND 또는 OR 조건으로 가져오기 (0) | 2020.10.16 |
MongoDB 컬렉션 삭제가 되지 않을때 (0) | 2020.10.13 |
MongoDB 쿼리 - 페이지 출력을 위한 skip, limit 사용하기 (0) | 2020.10.06 |