首页 > 解决方案 > 按文档之间常见数组项的数量对 mongo 查找进行排序

问题描述

我正在创建一个视频共享站点作为测试项目,在我的猫鼬模式中,每个视频都有一个字符串数组字段“标签”,例如,它可能如下所示:

{
  title: "Test video",
  tags: ["video", "test", "1080p"]
}

而且,为了提供类似项目的建议,我想查询我的视频表,并按此视频的标签数组和另一个视频的标签数组之间的常见项目数量进行排序。

例如,一个也有标签“1080p”的文档会得到 1 的“分数”,但一个包含所有三个标签“视频”、“测试”和“1080p”的文档会得到 3 分,然后我会按这个分数降序对它们进行排序,以获得类似文档的一些建议。

有谁知道我可以用 Mongoose 和 Node 做这样的事情吗?

标签: node.jsmongodbmongoose

解决方案


推荐阅读