11

我正在使用 Mongoose 进行一些查询,我需要跳过和限制子文档,但在同一个查询中,我想增加文档中的某些字段。目前是我使用链接构建的查询,因为当我尝试仅使用选项时遇到了很多问题。这就是我所拥有的:

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,但正如我所说,我尝试了很多东西,但它没有奏效。

4

1 回答 1

22

您可以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); 
    } 
  });
于 2013-05-03T10:55:51.057 回答