可以说我有一些我不想修改的字段。在我的情况下,我的用户可以利用调用此方法的PATCH请求:
Ad.findByIdAndUpdate(req.params.id, req.body, {new: true})
从技术上讲,我可以“手动”过滤“ req.body”对象,并删除不应该更新的所有内容,即使它们明确发送了请求中的那些字段,但还有更好的方法,也许可以添加“受保护的”在相关架构中标记如下内容:
title: {
type: String,
required: true,
protected: true
}
答案 0 :(得分:0)
一些担忧:
我强烈建议您进行验证(例如使用json-schema-library),然后对这些值进行清理。最重要的是,您可以使用Monogram禁止更新某些属性。在这种情况下,有效负载中包含意外参数的请求会引发并返回一些错误(例如BAD REQUEST)