Anda dapat menggunakan $geoNear
tahap pipa agregat untuk menghasilkan jarak dari titik pertanyaan:
db.new_stores.aggregate([
{ "$geoNear": {
"near": {
"type": "Point",
"coordinates": [ -81.093699, 32.074673 ]
},
"maxDistance": 500 * 1609,
"spherical": true,
"distanceField": "distance",
"distanceMultiplier": 0.000621371
}}
]).pretty()
Ini memungkinkan Anda untuk menentukan "distanceField"
yang akan menghasilkan bidang lain dalam dokumen keluaran yang berisi jarak dari titik yang ditanyakan. Anda juga dapat menggunakan "distanceMultiplier"
untuk menerapkan konversi apa pun ke jarak keluaran sesuai kebutuhan (yaitu meter ke mil, dan mencatat bahwa semua jarak GeoJSON dikembalikan dalam meter)
Ada juga geoNear
perintah dengan opsi serupa, tetapi tentu saja tidak mengembalikan kursor sebagai output.