javascript - 尝试将其属性之一分配给新变量时,用户对象返回未定义
问题描述
我正在尝试使用此代码创建一个简单的订单,然后在尝试将 user.shoppingCart 数组分配给一个新变量(“产品”)时,它说用户未定义,但例如地址工作正常,然后尝试到 console.log 的 user.address 和 user.shoppingCart 它实际上打印了正确的值。有任何想法吗?
exports.createOrder = async (req, res) => {
try {
const user = await User.findById(req.user.id);
if (user.shoppingCart.length < 1) {
return res.status(400).json({
status: 'fail',
message: 'Please first add a product to your shopping cart.',
});
}
const address = req.body.address || user.address;
const products = user.shoppingCart;
const total = await getTotal();
const { paymentMethod } = req.body;
const order = await Order.create({
address,
user: user._id,
products,
total,
paymentMethod,
});
res.status(201).json({
status: 'success',
data: {
order,
},
});
} catch (err) {
res.status(500).json({
status: 'fail',
message: err.message,
});
}
};
解决方案
推荐阅读
- android - 如何打开文件管理器导航到android中的特定目录?
- apache-spark - 如何在 Apache Spark 2.3 的追加和更新模式下实现自定义接收器?
- delphi - 从网站读取数据
- c++ - Visual Studio 2017 找不到 LMCONS.H
- javascript - 关闭Javascript
- powershell - 如何使powershell缩短“>”之前的长目录
- hdfs - s3distcp 从 S3 复制到 EMR HDFS 数据副本始终在一个节点上
- excel - 读取 Excel 列时数据类型不匹配
- angular - 传单路由机 OSRM 请求过多,状态码为 429
- c# - 使用 C# System..Numerics.Vector
解包/打包位