Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Groovy
- Python
- Stream
- 스크럼 마스터
- RDF
- scrum
- nodejs
- ngrinder
- 이벤트 루프
- 스레드
- Django
- 자바
- node.js
- benchmark
- Knowledge Graph
- 지식 그래프
- 파헤쳐보자
- express
- java
- 노드
- 소켓
- C++
- Router
- 스크럼
- 특징
- 예제
- node
- 노드js
- 개발자
- socket.io
Archives
- Today
- Total
라봉이의 개발 블로그
[mongoose] Query 옵션: new 본문
반응형
다음과 같이 find종류인 findOneAndUpdate, findByIdAndUpdate 쿼리를 이용하여 컬렉션에 존재하는 스키마의 데이터를 업데이트 하는 일이 주어졌다고 하자.
다음은 스키마 정의 부분이다.
const userSchema = new mongoClient.Schema({
name: {
type: String,
required: true,
unique: true
},
category: {
team: Number,
categoryType: String
},
gender: {
type: String,
enum: ["male", "female"],
required: true
},
createOn: Date
});
다음은 name이 kkki인 원래의 document이다.
{ category: { categoryType: 'fast' },
_id: 0,
name: 'kkki',
gender: 'male',
createOn: 2018-07-30T07:14:37.404Z,
__v: 0 }
다음은 findOneAndUpdate 구문이다.
userSchema.findOneAndUpdate({name: "kkki"},
{category: {categoryType: req.body.updateType}}).exec()
.then((updateUser)=> {
console.log(updateUser);
})
위의 쿼리를 실행하면 바뀌기 전의 document의 정보가 then의 callback 함수를 통해 나온다.
userSchema.findOneAndUpdate({name: "kkki"},
{category: {categoryType: req.body.updateType}}).exec()
.then((updateUser)=> {
console.log(updateUser);
})
만약 Update를 실행한 뒤의 정보를 받고 싶다면 new 옵션을 사용해야 한다.
userSchema.findOneAndUpdate({name: "kkki"},
{category: {categoryType: req.body.updateType}},
{new: true}).exec()
.then((updateUser)=> {
console.log(updateUser);
res.send('ok');
})
반응형
Comments