<?php
$m 
= new MongoClient'mongodb://localhost' );
$d $m->selectDbDATABASE );
$c $d->selectCollectionCOLLECTION );
$center = new GeoJSONPoint(
  (float) 
$_GET['lon'],
  (float) 
$_GET['lat'
);
$res $c->aggregate( [
    [ 
'$geoNear' => [
        
'near' => $center->getGeoJson(),
        
'distanceField' => 'distance',
        
'distanceMultiplier' => 1,
        
'maxDistance' => 1000,
        
'spherical' => true,
        
'query' => 
            [ 
TAGS => 'amenity=post_box' ],
        
'limit' => 40,
    ) ),
    [ 
'$sort' => [ 'distance' => ] ],
) );