使用$ nearSphere运算符后,如何重新排序此mongodb查询的结果?

时间:2019-07-15 10:51:13

标签: node.js mongodb mongoose

我正在使用mongodb Service运算符查询名为$nearSphere的猫鼬模型,以按距给定点的距离返回结果:

Service.find({ 
   $nearSphere: {
      $geometry: {
         type : "Point",
         coordinates : [myLng, myLat]
      }
   }
})
.limit(10)

$nearSphere按距离排序,但是我的某些服务是“提升”的,因此无论距离多远,我都希望将它们浮动到列表的顶部。

通常,我会使用$sort运算符,但是我注意到mongodb文档中的注释阻止了它。

是否可以将某些结果放在列表的顶部,但可以保留现有的距离排序?

理想情况下,我希望没有以下内容:

  • 进行第二次查询
  • 重构所有内容以使用聚合,因为我担心性能(这是合理的考虑吗?应该吗?)

0 个答案:

没有答案