【发布时间】:2021-12-21 14:55:22
【问题描述】:
我不断收到错误消息:TypeError: Cannot read property 'doors' of null。我希望能够将doors 设置为可为空,以便能够避免此错误,只需点击错误响应并返回 404。但是,我不知道该怎么做?
这是我的代码:
Data.findOne({
'_id':'6182544c20d538aefe49def0',
'doors.id':doorId
}, {
'doors.$':1
}, function(err, data) {
if (err) {
res.status(404).send('No Matching Door Found')
} else if (data.doors[0].status === 'open') {
res.status(401).send('Door already unlocked')
} else {
res.status(200)
}
})
错误出现在第三行,它找不到 ID 等于 doorId 的门对象。
我尝试将doors.id 设置为!doors.id,但是,无论输入什么,这都会一直达到404。
任何帮助表示赞赏,谢谢。
【问题讨论】:
-
这是 JS 错误。您可以使用可选链接
data?.doors[0].status来避免它。
标签: javascript node.js mongodb mongoose null