Appcelerator Titanium ACS按离用户最近的顺序排列

时间:2012-06-16 11:28:37

标签: iphone cloud titanium appcelerator

我想按最近的地方排序。使用此代码可以正常工作:

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

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

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

但它是“倒置”,这意味着最近的位置在列表的底部,最远的位置在列表的顶部!怎么会?我如何反向订购?我订购错了吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

  

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

这也适用于$ nearSphere。

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