I have a MongoDB database with tokens with lat / long, and I need another database (or another solution) containing cities or area level boundaries. If at Geoyson's training grounds this would be optimal.
I have a field named city (e.g. 'city' : 'New York'), but I want to narrow down the area of the city / district, for example. "Soho." The idea to solve the problem in this way is based on new Google maps. If we type an area or zip code, we will see a polygon with a red dot in that area.

I saw the Maxmind database , but it has no boundaries for each city.
My best solution so far is to use the Google geocoding API , which returns the scope:
. : http://maps.googleapis.com/maps/api/geocode/json?address=soho&sensor=false
:
{
"results" : [
{
"address_components" : [
{
"long_name" : "SoHo",
"short_name" : "SoHo",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Manhattan",
"short_name" : "Manhattan",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "New York",
"short_name" : "New York",
"types" : [ "locality", "political" ]
},
{
"long_name" : "New York",
"short_name" : "New York",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "SoHo, New York, NY, USA",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 40.7283442,
"lng" : -73.9953929
},
"southwest" : {
"lat" : 40.7184446,
"lng" : -74.0054619
}
},
"location" : {
"lat" : 40.723384,
"lng" : -74.001704
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 40.7283442,
"lng" : -73.9953929
},
"southwest" : {
"lat" : 40.7184446,
"lng" : -74.0054619
}
}
},
"types" : [ "neighborhood", "political" ]
}
],
"status" : "OK"
}
- , API Google?