2017-02-11 85 views
0

我有一個geoNear聚合查詢,其中還包括一個$匹配,它使用$ text來搜索關鍵字。當該單詞與數據庫中的某個字段完全匹配時,我會得到重複的結果。第二個結果只有距離不同。我曾嘗試在查詢中包含唯一選項,但第二個結果是唯一的。在升級到mongo驅動程序的最新版本之前,更改索引中的字段確實奏效。現在將字段移動到索引的頂部將返回相同的重複結果。該字段是32中最高的權重。對於爲什麼我得到一個沒有距離的重複結果的任何想法?

回答

0

經過一番研究和試驗和錯誤,我發現搜索文本索引的順序和重量對此有很大的影響。不幸的是,從部署js文件到mongo,我們無法設置搜索文本索引的順序。我通過在lodash中使用聯合來解決這個問題。另外,您還必須在$ geoNear查詢中設置'unique'選項。