node.js - Mongoose findOneAndUpdate:如何仅在更新的字段而不是所有字段上运行验证器?
问题描述
这不是Mongoose findOneAndUpdate 和 runValidators 不工作
或runValidators 选项不工作 findByIDAndUpdate 或 findOneAndUpdate 使用 mongoose 的副本
我正在为 Node.js 使用 Mongoose ODM
当我使用最后一行的选项运行以下代码时,{ runValidators: true }
我收到一个错误,因为它也在尝试验证电子邮件地址(更新中未提供)。如果我删除{ run Validators: true }
,那么代码运行良好,但是没有对我更新的字段进行验证。如何让 Mongoose仅对我提供更新的字段而不是数据库条目中的所有字段运行验证?
const mongoose = require("mongoose")
const User = mongoose.model("User", {
name: {
type: String
},
email: {
type: String
}
}
const update = {
name: "Jessica"
}
User.findByIdAndUpdate(id, update, { new: true, runValidators: true })
设置时给出的错误{ runValidators: true }
是:TypeError: Cannot read property '_update' of undefined
解决方案
推荐阅读
- javascript - 如何通过javascript从返回的aws lambda函数中获取值
- python - Youtube API - how can I exclude unlisted videos?
- c# - 网络客户端下载的意外异常
- reactjs - 想要在 React JS 中取消选中树结构的节点
- c - for 循环仅迭代在 scanf 之后编写的 printf 一次
- android - 如何在 webview 中打开相机?
- python - kmeans++的向量化实现
- maven - 无法确定 pom.xml 的全局设置
- oracle - Entity Framework db first:状态机器关联
- python-docx - 在 python-docx 中创建 word 字段以从 word 文档的第 2 页自动生成页脚(例如 # Page / # Total Pages)?