sql >> Base de Datos >  >> NoSQL >> MongoDB

Distancia de impresión MongoDB entre dos puntos

Puedes usar el $geoNear etapa de tubería agregada para producir una distancia desde el punto consultado:

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

Esto le permite especificar "distanceField" que producirá otro campo en los documentos de salida que contiene la distancia desde el punto consultado. También puedes usar "distanceMultiplier" para aplicar cualquier conversión a la distancia de salida según sea necesario (es decir, metros a millas, y teniendo en cuenta que todas las distancias GeoJSON se devuelven en metros)

También está el geoNear comando con opciones similares, pero por supuesto no devuelve un cursor como salida.