我需要按文本执行搜索并返回按距离排序的结果。
第一个解决方案是执行$ geoNear查询,而不是执行$ match以获取所需的结果。该解决方案存在问题,因为我的$ geoNear阶段具有结果限制,在这种情况下,即使它们与$ match阶段匹配,也不会出现远离输入点的项目。
如果我在第一阶段进行$ match比赛,那么我会遇到距离排序问题。 $ geoNear不是一个选项,因为根据定义它必须处于第一阶段。我可以自己计算距离并对结果进行排序,但是由于我进行了分页,因此无法使用。
在我看来,这就像是鸡和鸡蛋的问题。