MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB stampa la distanza tra due punti

Puoi usare il $geoNear fase della pipeline aggregata per produrre una distanza dal punto interrogato:

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

Ciò ti consente di specificare "distanceField" che produrrà un altro campo nei documenti di output contenente la distanza dal punto interrogato. Puoi anche usare "distanceMultiplier" per applicare qualsiasi conversione alla distanza di output come richiesto (ad es. metri in miglia e notare che tutte le distanze GeoJSON vengono restituite in metri)

C'è anche il geoNear comando con opzioni simili, ma ovviamente non restituisce un cursore come output.