1
我有quiz1,quiz2和quiz3,我想根据来自quiz3的标签向用户推荐一个测验,不论是测验1还是测验2,而不需要采集集合中的每个文档并对其进行处理在应用程序级别上。如何找到最佳数组匹配
Quiz_1 = {
_id:"...",
tags:["life-style","personality","sports","soccer"]
};
Quiz_2 = {
_id:"...",
tags:["IQ","inteligence","science","maths"]
};
Quiz_3 = {
_id:"...",
tags:["life-style","maths","inteligence","school"]
};
这里最好的配对是quiz_2,因为quiz_3匹配quiz_2和2个标签,匹配quiz_1和1个标签。 (更多的标签匹配等于更好的匹配)我如何使用猫鼬做到这一点?
说明:
我有一个集合名为“测验”和我想的MongoDB当我输入(标签返回第二个文件:“生活方式”,“数学”,“智力”,“学校“])
quizzes:
[
{
_id:...,
tags:["life-style","personality","sports","soccer"]]
},
{
_id:"...",
tags:["IQ","inteligence","science","maths"]
},
{
_id:"...",
tags:["life-style","maths","inteligence","school"]
}
]
显然?为什么?你认为你可以解释为什么? –
,因为quiz_3与2个标签匹配quiz_2并仅匹配1个标签的quiz_1 –
因此,您正在寻找每个术语的“最大交集”。但我不明白这是如何适用于“用户”。用户是否应该有自己的术语列表相交?请继续解释。在当然的问题。它似乎还没有你想象的那么清楚。 –