javascript - 'findIndex' 在 nodejs 中未定义
问题描述
在 nodejs 中,findIndex 是未定义的
let userCart = db.get().collection(collection.CART_COLLECTION).findOne({user:objectId(userId)})
if (userCart){
let proExist=userCart.products.findIndex(product=> product.item==proId)
console.log(proExist);
}
在我的控制台中它说:
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'findIndex' of undefined
at C:\Users\Toshiba\Desktop\Projects\E-Commerce Application\helpers\user-helper.js:49:48
at new Promise (<anonymous>)
at Object.addToCart (C:\Users\Toshiba\Desktop\Projects\E-Commerce Application\helpers\user-helper.js:46:16)
解决方案
错误
无法读取未定义的属性“findIndex”
来自您的代码的这一行:
userCart.products.findIndex
这意味着您的userCart
对象不包含属性products
。
您能否尝试使用Promise
for 语句从数据库中获取数据?在解析块中,您可以添加您的逻辑。
推荐阅读
- java - 使用 JDBC 连接 Android Studio-MySQL 时出现问题(错误:java.sql.SQLNonTransientConnectionException:无法创建与数据库服务器的连接。)
- ios - Swift 项目中的开源库在真实设备上运行时导致签名错误
- angular - Angular AuthGuard 可以激活
- flutter - 迁移后 auto_route ExtendedNavigator.builder() 突然需要“RouterBase”
- react-native - 从使用函数更改为类后,导航停止工作
- jquery - (慢慢地)在 WordPress 中制作弹出窗口
- python - 使用 Python 替换 Pdf 中的图像
- c# - 用我的分叉版本覆盖 NuGet 包中的程序集?
- powershell - Posh 无法识别 LasWriteTime 更改?
- django - DjangoFilterConnectionField 查询所有记录