0

我正在尝试按最近的地方在列表中订购。使用此代码可以正常工作:

    Cloud.Places.query({
page: 1,
per_page: 20,
where: {
    lnglat: { '$nearSphere': [latitudefast,longitudefast],  }
    },

order: {
    lnglat: { '$nearSphere': [latitudefast,longitudefast],  }
    },

latitudefast 和 longitudefast 代表用户的实际位置。它已在查询之前定义。

但它是“倒置”的,意思是最近的地方在列表的底部,最远的地方在列表的顶部!怎么来的?我如何反向订购?我订购错了吗?谢谢!

4

1 回答 1

0

您是否尝试过不指定订单?$nearSphere 默认返回按距离排序的结果。

来自 MongoDB 的文档(ACS 将其用作其数据存储)描述 $near:

上面的查询找到最接近 (50,50) 的点并返回它们按距离排序(不需要额外的排序参数)。

这也适用于 $nearSphere。

http://www.mongodb.org/display/DOCS/Geospatial+Indexing

于 2012-06-19T18:14:36.497 回答