MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Distance d'impression MongoDB entre deux points

Vous pouvez utiliser le $geoNear étape de pipeline agrégée pour produire une distance à partir du point interrogé :

 db.new_stores.aggregate([
    { "$geoNear": {
        "near": {
            "type": "Point",
            "coordinates": [ -81.093699, 32.074673 ]
        }, 
        "maxDistance": 500 * 1609,
        "spherical": true,
        "distanceField": "distance",
        "distanceMultiplier": 0.000621371
    }}
]).pretty()

Cela vous permet de spécifier "distanceField" qui produira un autre champ dans les documents de sortie contenant la distance depuis le point interrogé. Vous pouvez également utiliser "distanceMultiplier" pour appliquer toute conversion à la distance de sortie selon les besoins (c'est-à-dire mètres en miles, et en notant que toutes les distances GeoJSON sont renvoyées en mètres)

Il y a aussi le geoNear commande avec des options similaires, mais elle ne renvoie bien sûr pas de curseur en sortie.