具有最大价值的Mongoose $ inc

时间:2018-06-12 12:24:32

标签: node.js mongoose model increment

所以我目前正在尝试执行此操作

return this.model.findByIdAndUpdate(id, { $push: { certifiedBy: certifier } }, { $inc: {score: 1}}, { new: true })

这里的问题是score会无限制地增长,我想阻止这种情况并在发生这种情况时这样做,如果score <= 5无法增加,certifier仍会增加certifiedBy我的 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick='<%# "show("+Eval("I") +");" %>' /> 数组。

可以直接使用mongoose完成,还是必须首先检查对象是否超过5并在这种情况下调用另一个查询?

由于

1 个答案:

答案 0 :(得分:0)

您无法更改$ inc行为,但您可以在5

之前执行检查点以停止它
return this.model.findOneAndUpdate({
    _id: id,
    score: {
        $lte: 5
    }
}, {
        $push: { certifiedBy: certifier },
        $inc: { score: 1 }
    },
    {
        new: true
    })