我正在尝试在 Mongoose(以及一般的其他数据库)中做一些事情,但是这一步我还没有弄清楚。
基本上我有以下查询
const a1 = await model.findOne({type: 3}).skip(random)
a1.views = a1.views - 1
await a1.save()
return a1
但我感兴趣的是
const a1 = await model.findOneAndUpdate({type: 3},{views: views--}, {new: true})
return a1
然而当然 mongoose 抱怨视图未定义(因为它之前没有定义)。有什么建议如何以第二种方式完成此操作吗?
干杯
答案 0 :(得分:1)
您可以使用 $inc 运算符将字段增加/减少指定的值。
const a1 = await model.findOneAndUpdate(
{type: 3},
{
$inc: {views : -1} // increase by -1 means decrease by 1
},
{new: true}
)
return a1