【发布时间】:2021-12-28 14:31:07
【问题描述】:
我有一个这样的猫鼬模式:
const userSchema = new mongoose.Schema({
keywords: [{ "type": String, "enum": ["yup", "nope"] }],
})
在这里,我有一个用户有一组关键字,我想在我的数据库中找到与这个特定用户的关键字集最相似的记录。
例如,如果用户将["yup" "nope"] 作为关键字,我想查找关键字数组中包含“yup”或“nope”或两者兼有的用户的所有记录。这只是一个示例,实际上,用户将有更多的关键字可供选择。
如何使用猫鼬做到这一点?
我正在考虑对数组中的值进行一次热编码,并且可以将具有最匹配 1 的记录添加到另一个表“最相似值表或其他东西”中,该表为每个用户维护此列表,用户为外键。但我还没有为此想出一个有效和/或有效的算法。
【问题讨论】:
标签: node.js database mongodb express mongoose