我已经为标准交易应用程序创建了API(使用mongoDB for DB),我为用户,产品和订单提供了API。我设法使用并显示了有关用户和产品的信息,但是,当我尝试遵循相同的代码来显示我的订单(在mongoDB集合中共享产品和用户的对象)时,我陷入了困境。我知道这与_id的工作方式(const {_id,用户名,useremail,productname,productsellprice} = order;)有关。
其他详细信息:http请求使用= axios;带有钩子的上下文API(useContext,useReducer)
这是我的新手,如果我遗漏了重要信息,请原谅我。
complete
我想在简单的ui卡中显示订单数据。目前,它仅显示order_id
答案 0 :(得分:0)
在控制台中打印order
时,会收到此信息,
对象产品:{_ id:“ 5d1a62c40d16f11d94009a7a”,名称:“ Lead18”,售价:104}销售日期:“ 2019-07-03T19:08:05.630Z”用户:电子邮件:“ irl1984@yahoo.co.uk”名称:“ Kevin Kane” _id:“ 5d1cd8fbc02bc928d83ea109”原型:对象_id:“ 5d1cfd156cd4673840981c5d”原型:Object OrderItem.js:6对象产品:{_ id:“ 5d1a62c40d16f11d94009a7a”,销售日期:“价格” 2019-07-03T18:43:14.409Z”用户:{_id:“ 5d1cd8fbc02bc928d83ea109”,名称:“ Kevin Kane”,电子邮件:“ irl1984@yahoo.co.uk”} _id:“ 5d1cf74207fa3337cceb5e1e”协议:对象
这意味着您正在对象内部获取对象。
所以代替这个,
const { _id, username, useremail, productname, productsellprice } = order;
您应该使用Destructuring nested objects,
const { product:{_id: product_id}, user:{name: username}, user:{email: useremail}, product:{name: productname}, product:{sellprice: productsellprice} } = order;
在这里我不确定要显示哪个_id
,如果要从_id
对象中获取user
,请使用此use:{_id}
。