Я разрабатываю REST API с использованием node.js и Express Framework впервые. Я изо всех сил пытаюсь исправить очень маленькую проблему в Node.js и Express, но я не могу это сделать. Я проверил в Интернете все возможные решения и попробовал использовать все варианты, которые мне известны, но я не могу определить синтаксис для того же.
Фон : у меня есть один объект с именем «Ресторан» и другой объект с именем «Меню», который имеет ссылку внешнего ключа на «Ресторан».
Теперь у меня есть требование (общий сценарий), когда мне нужно отправить ответ клиенту в следующем формате json,
{
"Restaurants": [
{
"restaurantid":"5ad36b55c26b685030335e30",
"restaurantname": "ABC Restaurant",
"menus":[
{"menuname":"item1", "menucost":"10"},
{"menuname":"item2", "menucost":"20"}
},
{
"restaurantid":"9sd72b55c26b685030335e31",
"restaurantname": "XYZ Restaurant",
"menus":[
{"menuname":"item3", "menucost":"10"},
{"menuname":"item4", "menucost":"20"}
}
]
}
Проблема - Я не могу понять, как собрать объект "menus" в файле node.js и добавить его в мою переменную "menus". Я могу отправить ответ из одной таблицы без каких-либо проблем. Проблема возникает только тогда, когда мне нужно отправить список меню на основе restaurantid.
Мне нужно получить меню на основе ресторана.
Ниже приведен код, который я использую для возврата данных из mongodb.
router.get('/', checkAuth, (req, res, next) => {
Restaurant.find()
.exec()
.then(docs => {
res.status(200).json({
count: docs.length,
restaurants: docs.map(doc => {
return {
_id: doc._id,
restaurantname: doc.restaurantname,
menus: ????? <<**This is where i am stuck. Not able to figure out how to write the syntax**>>
}
})
});
})
.catch(err => {
res.status(500).json({
error: err
});
});
});
Пожалуйста, помогите мне с этой проблемой.