猫鼬$ inc无法正常工作想插入一个增量值

时间:2020-04-01 07:56:07

标签: mongodb mongoose

当它命中此api但我无法正常工作时,我总是尝试将视野增加一倍

错误:帖子验证失败:查看:值转换为数字失败

view: {
  type: Number,
  default: 0
},



 async request(req, res) => { 
     const post = await PostsModel.findOne({ _id: post_id });
     post.view = { $inc: { view: 1 } };
     await post.save();
    }

1 个答案:

答案 0 :(得分:1)

以您的方式,您需要执行post.view = post.view + 1而不是post.view = { $inc: { view: 1 } };,因为它将把view字段设置为对象{ $inc: { view: 1 } }

或者,如果您想使用$inc,则需要进行更新操作。像这样:

await PostsModel.findOneAndUpdate({ _id: post_id }, { $inc: { view: 1 } });