Mongo で空間クエリを実行しています。サンフランシスコから 10 マイル以内にあるすべての会場を検索する必要があります。コマンド ラインから、$geoNear (動作) と $near (動作しない) を使用すると、異なる結果が得られます。私は Mongoose を使用しており、$near を使用しているため、$near を使用する必要があります。
$geoNear が機能します。次のコマンドを実行します。
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] }})