2016-09-16 3 views
0

ExpressJS와 mongodb 및 몽구스를 처음 사용했습니다. 그것은 간단한 질문 일지 모르지만 나는 성공하지 못합니다.몽구스 컬렉션 데이터가있는 경우 가져 오기

var BookCounter = new Schema({ 
    counter: {type: Number,}, 
    book: {type: String, min: 18} 
}); 

이 내 스키마이며, 다음은 내 질문은 :

내가 그 XYZ 책의 존재를 확인하려는 여부를

책은 존재하는 경우

그러면 책 카운터를 하나씩 업데이트해야합니다.

그렇지 않으면

나는 새로운 책을 삽입해야합니다.

당신이 좀 도와 주실 래요 .. 사전 :

답변

1

에서

덕분에 당신은 업데이트 작업이 필요 upsert 존재하지 않는 경우 문서를 생성하는 옵션을 사용 findOneAndUpdate()new 옵션을 true로 설정하면 원본이 아닌 새로 작성/수정 된 문서가 반환됩니다. $set$inc 필드 업데이트 연산자. :) 작동

var query = { "book": "xyz" }, 
    update = { "$inc": { "counter": 1 } }, 
    options = { "upsert": true, "new": true }; 

// Find the document 
Book.findOneAndUpdate(query, update, options, function(err, result) { 
    if (err) handleError(err);  
    else { 
     // do something with the document 
     console.log(JSON.stringify(result, null, 4)); 
    } 
}); 
+1

감사 :

다음 예제에서는이 보여 – VRK

관련 문제