2013-05-03 67 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); 
    } 
    }); 
+6

您的$ INC – Lion789 2016-02-29 17:47:08

+1

後失蹤支架請注意:fieldToIncrement仍然沒有變db_res – tuananh 2016-10-06 08:38:14

+1

對不起,小白,即將倒閉增加,但哪裏$ INC從何而來?我不確定我理解那部分? – trainoasis 2017-03-18 17:58:59