我会翻译中文。这段内容是关于编程的,讲述了在Mongo中进行空间查询的问题。需要找到距离旧金山10英里以内的所有场馆。使用$geoNear命令和$near命令得到的结果不同,但由于使用Mongoose,需要使用$near命令。$geoNear命令可以正常工作,运行该命令即可。
据我所知,它们是相同的命令。我有遗漏吗?如果我删除$maxDistance,我确实会得到结果,并且它们按距离正确排序。但是,我也会得到距离超过10英里的结果。
db.runCommand({geoNear:"venues",near:[-122.418,37.775], maxDistance:10/69});
我通过距离排序,得到了10英里半径范围内的结果。很好。
但是当我运行$near命令时,却没有得到任何结果:
db.venues.find({loc: {$near: [-122.418,37.775] }, $maxDistance:10/69})
据我所知,它们是相同的命令。我有遗漏吗?如果我删除$maxDistance,我确实会得到结果,并且它们按距离正确排序。但是,我也会得到距离超过10英里的结果。
db.venues.find({loc: {$near: [-122.418,37.77] }})