2017-02-11 73 views
0

我有一个geoNear聚合查询,其中还包括一个$匹配,它使用$ text来搜索关键字。当该单词与数据库中的某个字段完全匹配时,我会得到重复的结果。第二个结果只有距离不同。我曾尝试在查询中包含唯一选项,但第二个结果是唯一的。在升级到mongo驱动程序的最新版本之前,更改索引中的字段确实奏效。现在将字段移动到索引的顶部将返回相同的重复结果。该字段是32中最高的权重。对于为什么我得到一个没有距离的重复结果的任何想法?

回答

0

经过一番研究和试验和错误,我发现搜索文本索引的顺序和重量对此有很大的影响。不幸的是,从部署js文件到mongo,我们无法设置搜索文本索引的顺序。我通过在lodash中使用联合来解决这个问题。另外,您还必须在$ geoNear查询中设置'unique'选项。