我在做Mongo的空间查询。我需要找到旧金山10英里内的所有场地。在命令行中,当使用$ geoNear(works)vs $ near(不起作用)时,我得到了不同的结果。我需要使用$附近,因为我正在使用Mongoose并使用$ near。
$ geoNear works。我运行此命令:
db.runCommand({geoNear:"venues",near:[-122.418,37.775], maxDistance:10/69});
,我得到的距离排序结果,在10英里半径范围内。大。
但后来我跑这个$附近指挥和我没有得到任何结果:
db.venues.find({loc: {$near: [-122.418,37.775] }, $maxDistance:10/69})
从我所知道的,它们是相同的命令。我错过了什么吗?如果我删除$ maxDistance,我确实会得到结果,并且它们按距离正确排序。但是,我也得到了超过10英里的结果。
db.venues.find({loc: {$near: [-122.418,37.77] }})
只是想知道为什么最大距离是六十九分之一十。它应该是10/3963。相同单位的地球距离/半径。 –