mongoose在scheme中定义了required、min、max等验证器,它好像只对create()要插入的文档会进行验证,但是对update()要更新进去的文档好像不进行验证。
如果是这样,这个验证还有什么用呢?mongoose的验证器是不是真的不对要更新进去的文档不验证,那更新的验证这个要如何处理呢?
mongoose在scheme中定义了required、min、max等验证器,它好像只对create()要插入的文档会进行验证,但是对update()要更新进去的文档好像不进行验证。
如果是这样,这个验证还有什么用呢?mongoose的验证器是不是真的不对要更新进去的文档不验证,那更新的验证这个要如何处理呢?
runValidators: null
, // 如果值为true,执行Validation验证。
model.update(conditions, doc, option, function (err, res){})
// conditions-查询条件 doc-需要更新的数据
*** 其中res返回 {n:2, nModified:2, ok: 1} ***
*** n为匹配到的条数 nModified修改的条数 ok 表为是否成功 ***
const option = { // option选项及其默认值
safe: true, // 安全模式
upsert: false, //如果不存在则创建新纪录
multi: false, // 是否更新多个查询记录
runValidators: null, // 如果值为true,执行Validation验证。
setDefaultsOnInsert: null, // 如果upsert选项为true,在新建时插入文档定义的默认值。
strict: null, // 用严格模式跟新
overwrite: false // 禁用update-only模式,允许覆盖记录。
}
2 回答1.4k 阅读
1 回答929 阅读✓ 已解决
1 回答908 阅读✓ 已解决
766 阅读
757 阅读
651 阅读
599 阅读
从MongoDB3.2开始就支持在服务端进行文档模型验证。为什么不直接使用官方方案呢?
https://docs.mongodb.com/manu...