0

我有带有字段验证选项 min 的猫鼬模式:

export const CartSchema = new Schema < ICartSchema > ({
    amount: {
        type: Number,
        default: 1,
        min: 1
    }
}, {
    versionKey: false
});

当我尝试更新我的文档并设置值 <1 时,我没有收到一些错误并且文档获取值 <1

switch (type) {
    case "inc": {
        update = {
            $inc: {
                amount: 1
            }
        }
        break;
    }
    case "dec": {
        update = {
            $inc: {
                amount: -1
            }
        }
        break;
    }
    default:
        throw Error("Bad request");
}

猫鼬版^6.0.7

4

1 回答 1

0

正如文档所说:

最后一个值得注意的细节:更新验证器仅在以下更新运算符上运行:

  • $set
  • $unset
  • $push(>= 4.8.0)
  • $addToSet(>= 4.8.0)
  • $pull(>= 4.12.0)
  • $pullAll(>= 4.12.0)

即使是$inc验证器不起作用的示例:

例如,无论 number 的值如何,下面的更新都会成功,因为更新验证器会忽略 $inc。

于 2021-09-24T23:19:21.600 回答