【发布时间】:2015-06-24 13:13:24
【问题描述】:
我有一个 mongo 集合,其中包含类似于以下架构的文档。我有一个用户界面,用户可以从中过滤属性(使用逻辑或)。由于它使用 OR 我希望对结果进行排序,以便我首先获得与最多过滤器匹配的结果。例如:如果我过滤作者“auth1”和“tag1”,我会返回两条记录,但第二条记录在最前面。在这个例子中,我只有 2 个 attr 可供过滤,但大约有 20 个。
您对解决此问题的最佳方法有什么建议吗?我正在考虑编写一个 map-reduce 查询来计算“匹配等级”。
{name: "bookName", tags:["tag1"], authors: [] }
{name: "bookName2", tags:["tag1", "tag2"], authors: ["auth1", "auth2"] }
【问题讨论】:
标签: mongodb