官方文档表述和例子都不够详尽,自己踩了一天的坑,总结一下分享给大家:
1、参数near应该传入一个什么对象?
文档表明需要传入GeoPoint对象
该文档中指出可以用json对象等效使用,如:{ type: 'Point', coordinates: [113, 23] },在做数据插入时确实work,但是在这里只有传入db构造函数才work,如:db.Geo.Point(113, 23)
2、maxDistance
使用时需要以米为单位,再除以地球半径,即:6378137。如限定10公里范围内:maxDistance: 100000/637813
3、distanceMultiplier
基本上用不到这个参数,输出的结果distance以米为单位。
4、其他小问题,比如它只能处在aggregate第一阶段、必须建立地理位置索引,不必细说。