2013-05-03 2 views
6

Mongoose를 사용하여 하위 문서를 건너 뛰고 제한해야하는 일부 쿼리 작업을하고 있지만 동일한 쿼리에서 문서의 일부 필드를 증가시키고 싶습니다. 현재 옵션을 사용하여 시도 할 때 많은 문제가 발생했기 때문에 현재 체인 쿼리로 쿼리를 작성했습니다.몽구스 - findOne을 사용하여 증가시키기

Model.findOne({ shorten_id: id }).select('title content comments views').slice('comments', [0, 10]).exec(function(err, db_res) { if (err) { throw err; } else { console.log(db_res); } }); 

내가이 쿼리를 호출 할 때 1 신청 '전망'을 증가하고 싶지만, 내가 말했듯이, 나는 많은 것들을 시도하고 그냥 작동하지 않았다 : 이것은 내가 가지고있는 것입니다.

답변

14

findOneAndUpdate을 사용하면 문서를 수정하면서 문서를 가져올 수 있습니다.

Model.findOneAndUpdate({ shorten_id: id }, { $inc: { fieldToIncrement: 1 }) 
    .select('title content comments views') 
    .slice('comments', [0, 10]) 
    .exec(function(err, db_res) { 
    if (err) { 
     throw err; 
    } 
    else { 
     console.log(db_res); 
    } 
    }); 
당신은 $ INC
+6

유의하시기 바랍니다 : fieldToIncrement 여전히 멍청한 놈 - 일러스트 iness 죄송 변수 db_res – Lion789

+1

후 브래킷을 누락 – tuananh

+1

증가 아니지만, 어디 $ Inc의에서 오는가? 나는 그 부분을 잘 모르겠다. – trainoasis

관련 문제