Найти данные тех, где идентификатор объекта ссылки равен user._id - PullRequest
1 голос
/ 31 октября 2019

Я получаю все детали заказа

Например: (пример одного заказа)

{
    "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);
}});

Любые другие методы для достижения этой цели

1 Ответ

0 голосов
/ 31 октября 2019

Вы должны использовать findOne(). Как ниже

const order = await Order.findOne({'customer.id':req.user._id}) // probably req.body.user._id

или

await Order.findOne( { customer: { id:req.user._id } } )

См. Документы здесь

...