javascript - 如何检查对象是否已经创建?
问题描述
您好,我想检查是否创建了对象。如果它已创建,则重定向到 id 页面,但如果未创建,则重定向到创建它的页面。
这是我的应用程序
app.get('/my',isLoggedIn,async (req,res)=> {
const safe= await Safe.find({});
if(safe===undefined){
res.redirect('/mysafe')
}
else {
res.redirect(`mysafe/${safe._id}`)
}
})
我认为它应该可以工作,但我得到一个转换错误 CastError: Cast to ObjectId failed for value "undefined" (type string) at path "_id" for model "Safe"
解决方案
你只需要翻转你的条件并if(safe)
用作条件。如果对象已创建,则为 true,否则为 false。类似于以下内容:
app.get('/my', isLoggedIn, async (req,res) => {
const safe= await Safe.find({});
if(safe){
res.redirect(`mysafe/${safe._id}`)
} else {
res.redirect('/mysafe')
}
})
推荐阅读
- swift - Swift 在同一扩展中的扩展“私有”中生成 func
- c++ - 如何在图像上绘制精明的结果?
- python - 我想创建 Python Dash 应用程序来监视 ftp 上的目录,从文件中提取数据并实时绘制它
- node.js - 在节点中 S3 上传后返回数据
- ios - SwiftUI:实际的可触摸区域比我指定的要大
- python - 在 Windows x64 位上安装 Opencv-python 时出现问题
- python - 为什么 instagram 不能与 Selenium 无头 Chrome 一起使用?
- node.js - twilio 视频房间:主持人可以从 node.js express 端点静音房间中的参与者吗
- python - 如何在 selenium webdriver python 中找到这个按钮?
- reactjs - ReactJS 和 UIkit 3.6.5:点击事件不会在模式窗口内触发