我正在获取所有订单详细信息
例如:(一个订单的示例)
{
"customer": {
"id": "5db6ac89d85a2c1c709a42da",
"name": "Testing"
},
"product": {
"id": "5dba78427af9e73b18bdbb22",
"name": "image",
"seller": "Testing",
"price": 100,
"imgurl": "ok"
},
"_id": "5dba788fdeb78931f8a30105",
"quantity": 3
}
当我使用 find() 时,我获取了所有元素,但我只想显示登录者的数据 即 customer.id 等于 req.user._id 我正在使用 find(),如下面的代码所示:
router.get('/cart',verifyToken, async (req, res)=>{
const order = await Order.find({/* what should be the query here to get the desired result*/},'product , quantity , customer ');
try{
res.send(order)
}catch(err){
res.status(400).send(err);
}});
任何其他方法来实现这一点
最佳答案
您必须使用findOne()
。如下所示
const order = await Order.findOne({'customer.id':req.user._id}) // probably req.body.user._id
或
await Order.findOne( { customer: { id:req.user._id } } )
请参阅文档 here
关于node.js - 查找引用对象id等于user._id的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58638966/