Итак, у меня есть две разные коллекции: одна - пользователи , а вторая - продукт , я хочу найти продукт по полю имени, и он должен предоставить все данные пользователю сведения из коллекции пользователей.
Фрагмент кода:
app.get('/api/searchProduct/:name', function(request, response) {
search = request.params.name;
product.aggregate([
{ "$project": { "supplierID": { "$toObjectId": "$supplierID" } } },
{ $lookup: {
"localField": "supplierID",
"from": "users",
"foreignField": "_id",
"as": "userDetails"
}},
], function(error, data) {
if(error) {
return response.send(error);
} else {
response.status(200).json({
status: 'success',
data: data,
})
console.log(JSON.stringify(data));
}
})
})
Фактический JSON Результат:
{
"status": "success",
"data": [
{
"_id": "5e89b936e20452a419ccbcad",
"supplierID": "5e89b916e20452a419ccbcac",
"userDetails": [
]
},
{
"_id": "5e89bc5ee20452a419ccbcb0",
"supplierID": "5e89bc48e20452a419ccbcae",
"userDetails": [
{
"_id": "5e89bc48e20452a419ccbcae",
"timestamp": "2020-04-05T10:37:09.582Z",
"name": "Mohamma Junaid Raza",
"email": "junaidraza10896@gmail.com",
"password": "Iamjunaidr@10896",
"contact": "",
"userType": "",
"profilePhoto": "",
"__v": 0
}
]
},
{
"_id": "5e89c12bf312e7a5cdfe2e9e",
"supplierID": "5e89bc48e20452a419ccbcae",
"userDetails": [
{
"_id": "5e89bc48e20452a419ccbcae",
"timestamp": "2020-04-05T10:37:09.582Z",
"name": "Mohamma Junaid Raza",
"email": "junaidraza10896@gmail.com",
"password": "Iamjunaidr@10896",
"contact": "",
"userType": "",
"profilePhoto": "",
"__v": 0
}
]
},
]
}
Мне нужны полные данные (поля) продукта с поисковым запросом в поле имени, отображаемом под данными продукта: