У меня есть две коллекции "Пользователь" и "Сообщения", и в отдельных коллекциях есть один и тот же массив "меток".
Метка включает в себя множество значений типа String, которые означают особую функцию.
Я хочу, чтобы метки поста совпадали с теми же значениями, что и метки пользователя, и группируем их.
Я пытаюсь использовать заполнение совпадений для двух коллекций, но какое условие мне следует использовать, это меня смущает.
Коллекция пользователей
{
userid:1
username:"Jack",
labels:["cook" , "code"]
},
{
userid:2
username:"Kevin",
labels:["design" ,"cook"]
}
Почтовая коллекция
{
postid:1
title:"Molecular gastronomy"
labels:["code" ,"technology"]
},
{
postid:2
title:"Web design"
labels:["code" ,"technology"]
},
{
postid:3
title:"black hole"
labels:["technology"]
}
, и я хочу привести результат ниже
{
code:{
postid:[1,2] ,
username:["Jack"]
}
technonogy:{
postid:[1,2],
username:null
},
cook:{
postid:null,
username:["Jack" , "Kevin"]
},
design:{
postid:null,
username:["Kevin"]
}
}
Моя решимость 1
Я вызов новой коллекции "labelGroup ", чтобы сохранить при создании пользователя или публикации, а затем сохранить каждую коллекцию в коллекциях группы ярлыков в другом массиве объектов.
Resolve 2
найти все коллекции" User "и" Post ", а затем использоватьКарта javascript и фильтр для их устранения и возврата группы
Есть ли более эффективные способы решения этой проблемы?