У меня есть две коллекции, одна для хранения деталей меню, а другая для хранения деталей проекта
Ниже представлена коллекция 'allmenu'.
{
"_id" : ObjectId("5ce7454f77af2d1143f84c38"),
"menu_name" : "mainmenu1",
"sub_menus" : [
"submenu1",
"submenu2"
]
}
Ниже представлена коллекция проекта.
{
"_id" : ObjectId("5cda19d2e7bb82e771931adb"),
"project_name" : "p1",
"sub_menus" : "submenu1",
}
{
"_id" : ObjectId("5cda19d2e7bb82e771931adb"),
"project_name" : "p2",
"sub_menus" : "submenu2",
}
Я хочу получить результат, как показано ниже
{
"_id" : ObjectId("5ce7454f77af2d1143f84c35"),
"menu_name" : "mainmenu1",
"sub_menus" : [
{"sub_menu_name" : "submenu1",
"projectData" : [
{
"project_name" : "p1",
}
]
}
]
}
Я попробовал следующий запрос
db.getCollection('allmenu').aggregate([
{"$unwind":"$sub_menus"},
{"$lookup":{
"from" :"project",
"localField":"sub_menus",
"foreignField":"sub_menus",
"as":"newData"
}
}])
Я проверил все вопросы, связанные с поиском в массиве. Но все вопросы отличаются от этого.