我有一个路由处理程序,需要传递一些数据(car.name
)才能发挥其功能。
carRouter.route('/create')
.post(carController.create)
function create(req, res, next) {
const carInstance = new carModel({
activated: false,
name: body.car.name,
如果没有body.car.name
,请表示崩溃。
我可以通过添加以下检查来处理这个问题:
if (body.car.name) {
function create(req, res, next) {
但是,对于大量的模型属性,这很快变得很麻烦。
我已经在CarSchema
本身进行了验证设置,因此我想将验证委托给mongoose,并且如果请求中缺少数据,请避免应用程序崩溃。
我已经在github上查看了很多真实世界的例子,试图找出如何处理它,结果好坏参与。
处理这种基本情况的正确方法是什么?
答案 0 :(得分:2)
TypeError
因为试图阅读非对象的问题而被抛出?也许这会有所帮助:
name: body.car ? body.car.name : null
或者,如果您不关心name
undefined
:
name: body.car && body.car.name