MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB gibt den Abstand zwischen zwei Punkten aus

Sie können den $geoNear verwenden aggregierte Pipelinestufe, um eine Entfernung vom abgefragten Punkt zu erzeugen:

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

Dadurch können Sie "distanceField" angeben Dadurch wird in den Ausgabedokumenten ein weiteres Feld erzeugt, das die Entfernung vom abgefragten Punkt enthält. Sie können auch "distanceMultiplier" verwenden Um eine Konvertierung nach Bedarf auf die Ausgabeentfernung anzuwenden (d. h. Meter in Meilen, und beachten Sie, dass alle GeoJSON-Entfernungen in Metern zurückgegeben werden)

Es gibt auch den geoNear Befehl mit ähnlichen Optionen, aber er gibt natürlich keinen Cursor als Ausgabe zurück.