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 –
因此,您正在尋找每個術語的「最大交集」。但我不明白這是如何適用於「用戶」。用戶是否應該有自己的術語列表相交?請繼續解釋。在當然的問題。它似乎還沒有你想象的那麼清楚。 –