Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 193 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 193 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
The Paw Print Inn in Novi represents one great notion in pet boarding: Luxury above all. It's not just for dogs, as cats are welcome too, and even “special needs” pets will have some… Read More
Ann Arbor staple BurgerFi offers plenty of noteworthy sandwiches, but it's the milkshakes that are particularly exciting. Not only are there some really amazing flavors here like caramel banana… Read More
Steak and salad tend to go well together and at Northville's Gaucho Steakhouse, they go together especially well. A Brazilian steakhouse complete with waterfall and Brazilian cherry wood for cooking,… Read More
For those looking for a more upscale party experience, those heading out to Novi can try out 29 Novi, a club renowned for its “upscale loungey” experience. With a… Read More
La Bistecca—the steak in Italian—has quite a bit to offer diners in and around Plymouth, but for those looking for squid done right, settle in for the appetizer portion of calamari.… Read More
Northville's Northville Art House offers a pretty impressive array of art classes for its attendees, including not only classes through the year, but also workshops and summer camps. One of the most… Read More
The Z Spot Fitness Studio in Plymouth makes a particular effort to accommodate first-time students, encouraging all such students to show up 15 minutes early for registration. Once in place, Zumba,… Read More
You could be forgiven for thinking that the Sardine Room in Plymouth is focused mainly on sardines, but we assure you, seafood of all sorts is on hand here. The Sardine Room offers up a daily… Read More
Farmington Hills is home to Five Lakes CrossFit, a gym that not only offers experience, but also support, to make sure that visitors get their workout and look to stick with it. With not only… Read More
Olde Orchard employs experts in the field of pediatric dentistry. At Olde Orchard, the professionals strive to provide a painless and positive experience with cleanings, exams, sealants, fluoride,… Read More
Notice (8): Trying to access array offset on value of type null [APP/Plugin/Core/Controller/Component/PlacesComponent.php, line 68]Code Contextif($params['tags'])$options['conditions']['tags'] = $params['tags'];else if($this->params['tags_logical'])$params = array( 'show' => (int) 5, 'title' => 'Organizations around Northville', 'images' => false, 'group_type' => 'organization', 'sort' => 'created', 'sort_rule' => '-1', 'keyword' => '', 'radius' => null, 'limit' => (int) 15, 'page' => (int) 1, 'sef' => '', 'tags' => '', 'tags_logical' => '', 'terms' => '', 'show_limit' => (int) 3, 'days' => '', 'max-days' => (int) 365, 'max-miles' => (int) 45, 'message' => '[message to follow]', 'min' => (int) 50, 'prompt' => '', 'height' => '', 'width' => '', 'data_id' => '', 'more' => true, 'type' => '', 'autoshowmore' => false, 'link' => '', 'showdesc' => '', 'rankby' => '', 'empty-message' => '', 'ad_slots' => '', 'see-more-title' => '', 'searchdate' => '', 'searchenddate' => '', 'lat' => (float) 42.430599212646, 'lng' => (float) -83.483200073242, 'latlng' => '42.430599212646,-83.483200073242', 'city' => 'Northville', 'state' => 'MI', 'theme' => '', 'page_type' => 'town' ) $options = array( 'page' => (int) 1, 'limit' => (int) 5, 'order' => array( 'created' => (int) -1 ), 'conditions' => array( 'address.town_sef_url' => 'northville-mi' ) )PlacesComponent::search() - APP/Plugin/Core/Controller/Component/PlacesComponent.php, line 68 PlacesController::local() - APP/Controller/PlacesController.php, line 52 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Northville, Michigan. Population for Northville from the last gathering is 6459. You can view Northville venues that host many Northville MI events every year.
You can find a ton of properties for sale if you search the Northville page on Zillow. Currently Northville has an average listing price for homes for sale on the market of $119,822. More real estate facts about Northville: The number of properties currently for sale in Northville is 4,739. The median homes for sale listing price is $60,000. This is broken down with the number of three bedroom houses in Northville consisting of 2,854 with an average listing price for these house of $80,476. Out of the 816 houses that are four bedroom the average listing price for Northville is $215,184. Interest rates for Northville are at historic lows as well.
Northville Michigan has a latitude of 42.430599212646 and a longitude of -83.483200073242. View the full profile
On Yahoo, Yelp, SuperPages, AmericanTowns and 25 other directories!
Add your social media links and bio and promote your discounts, menus, events.
Be sure your listing is up on all the key local directories with all your important content (social links and product info).
| Nr | Query | Error | Affected | Num. rows | Took (ms) |
|---|---|---|---|---|---|
| 1 | db.towns.find( {"sef_url":"hermann-mo"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 4 | |
| 2 | db.sites.find( {"hostname":{"$in":["americantowns.com","localword"]}}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 3 | db.towns.find( {"sef_url":"northville-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 4 | db.pages.find( {"type":"town","slug":{"$in":["home"]},"site.hostname":"americantowns.com"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 5 | db.modules.find( {"name":{"$in":["Header Menu Main","header script","footer menu","footer script"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 6 | db.ttd_towns.find( {"town_sef_url":"northville-mi","name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 7 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 8 | db.modules.find( {"module_id":"1022"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 9 | db.modules.find( {"name":"AT - Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 10 | db.articles.find( {"aggregate":[{"$geoNear":{"near":[-83.48320007324219,42.430599212646484],"distanceField":"distance","distanceMultiplier":3963.2,"maxDistance":0.025232135647961243,"spherical":true,"query":{"tags":"at-bt-articles-home","state":"MI"}}},{"$project":{"title":1,"homepage_title":1,"tags":1,"image_url":1,"distance":1,"page_path":1,"path":1,"article_hostname":1,"text":1,"publish_date":1,"site_canonical":1,"sections.title":1,"sections.geo":1,"sections.text":1}},{"$addFields":{"days_since":{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769777871325)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769777871325)","$publish_date"]},86400000]}]}}},{"$sort":{"relevance_score":1,"_id":1}},{"$skip":0},{"$limit":11}]}, ["article_id","title","homepage_title","tags","image_url","path","article_hostname","sef_tail","page_path","text","publish_date","site_canonical","sections.title","sections.text"] ).sort( {"relevance_score":1,"_id":1} ).limit( 11 ).skip( 0 ) | 0 | 11 | 68 | |
| 11 | db.ttd_towns.find( {"town_sef_url":"northville-mi","name":"Article Slideshow"}, {"TtdTown._id":1} ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 0 | 1 | |
| 12 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 13 | db.events_cache.find( {"_id":"b674d1956f832940c0972c55c52054ed"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 14 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770443999)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 2 | 25 | |
| 15 | db.events_cache.count( {"_id":"b674d1956f832940c0972c55c52054ed"} ) | 0 | 0 | 1 | |
| 16 | db.events_cache.count( {"_id":"b674d1956f832940c0972c55c52054ed"} ) | 0 | 0 | 1 | |
| 17 | db.events_cache.insert( {"_id":"b674d1956f832940c0972c55c52054ed","town_sef_url":"northville-mi","data_key":["68911579fb5e4bed1fbe4bc0"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":true}","modified":"MongoDate(0.45700000 1769777871)","created":"MongoDate(0.45700000 1769777871)"} , true) | 0 | 0 | 1 | |
| 18 | db.events_cache.find( {"_id":"6ed7dff4c4a188c72aabec583cccfe15"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 19 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770443999)"},"event_id":{"$nin":[75984057]},"tags":"music","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.14492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 4 | |
| 20 | db.events_cache.count( {"_id":"6ed7dff4c4a188c72aabec583cccfe15"} ) | 0 | 0 | 1 | |
| 21 | db.events_cache.count( {"_id":"6ed7dff4c4a188c72aabec583cccfe15"} ) | 0 | 0 | 1 | |
| 22 | db.events_cache.insert( {"_id":"6ed7dff4c4a188c72aabec583cccfe15","town_sef_url":"northville-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":false}","modified":"MongoDate(0.48000000 1769777871)","created":"MongoDate(0.48000000 1769777871)"} , true) | 0 | 0 | 1 | |
| 23 | db.events_cache.find( {"_id":"f5bcf107e53966f5e9184859411bbca7"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 24 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771048799)"},"event_id":{"$nin":[75984057]},"tags":"music","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 5 | |
| 25 | db.events_cache.count( {"_id":"f5bcf107e53966f5e9184859411bbca7"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.count( {"_id":"f5bcf107e53966f5e9184859411bbca7"} ) | 0 | 0 | 1 | |
| 27 | db.events_cache.insert( {"_id":"f5bcf107e53966f5e9184859411bbca7","town_sef_url":"northville-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":false}","modified":"MongoDate(0.50300000 1769777871)","created":"MongoDate(0.50300000 1769777871)"} , true) | 0 | 0 | 1 | |
| 28 | db.events_cache.find( {"_id":"57cc0ec5e628cce0bb60be77e5ab02e0"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 29 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770098399)"},"event_id":{"$nin":[75984057]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 1 | |
| 30 | db.events_cache.count( {"_id":"57cc0ec5e628cce0bb60be77e5ab02e0"} ) | 0 | 0 | 1 | |
| 31 | db.events_cache.count( {"_id":"57cc0ec5e628cce0bb60be77e5ab02e0"} ) | 0 | 0 | 1 | |
| 32 | db.events_cache.insert( {"_id":"57cc0ec5e628cce0bb60be77e5ab02e0","town_sef_url":"northville-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":false}","modified":"MongoDate(0.51800000 1769777871)","created":"MongoDate(0.51800000 1769777871)"} , true) | 0 | 0 | 1 | |
| 33 | db.events_cache.find( {"_id":"bcdb29c4ce3a33a42ea49a9994d04a28"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 34 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1772431199)"},"event_id":{"$nin":[75984057]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.8695652173913043]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 1 | |
| 35 | db.events_cache.count( {"_id":"bcdb29c4ce3a33a42ea49a9994d04a28"} ) | 0 | 0 | 1 | |
| 36 | db.events_cache.count( {"_id":"bcdb29c4ce3a33a42ea49a9994d04a28"} ) | 0 | 0 | 1 | |
| 37 | db.events_cache.insert( {"_id":"bcdb29c4ce3a33a42ea49a9994d04a28","town_sef_url":"northville-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":false}","modified":"MongoDate(0.53200000 1769777871)","created":"MongoDate(0.53200000 1769777871)"} , true) | 0 | 0 | 1 | |
| 38 | db.events_cache.find( {"_id":"64d8b73487d358f85696adaf41687961"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 39 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770271199)"},"event_id":{"$nin":[75984057]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.14492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 13 | |
| 40 | db.events_cache.count( {"_id":"64d8b73487d358f85696adaf41687961"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.count( {"_id":"64d8b73487d358f85696adaf41687961"} ) | 0 | 0 | 1 | |
| 42 | db.events_cache.insert( {"_id":"64d8b73487d358f85696adaf41687961","town_sef_url":"northville-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"10\",\"days\":\"5\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":false}","modified":"MongoDate(0.57000000 1769777871)","created":"MongoDate(0.57000000 1769777871)"} , true) | 0 | 0 | 1 | |
| 43 | db.events_cache.find( {"_id":"1407042735e81ece7ed34d0cd6ed7b17"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 44 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771135199)"},"event_id":{"$nin":[75984057]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 2 | 30 | |
| 45 | db.events_cache.count( {"_id":"1407042735e81ece7ed34d0cd6ed7b17"} ) | 0 | 0 | 1 | |
| 46 | db.events_cache.count( {"_id":"1407042735e81ece7ed34d0cd6ed7b17"} ) | 0 | 0 | 1 | |
| 47 | db.events_cache.insert( {"_id":"1407042735e81ece7ed34d0cd6ed7b17","town_sef_url":"northville-mi","data_key":["6967019cb1faf7c56a6c994f"],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"15\",\"days\":\"15\",\"show\":1,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":true}","modified":"MongoDate(0.61900000 1769777871)","created":"MongoDate(0.61900000 1769777871)"} , true) | 0 | 0 | 1 | |
| 48 | db.events_cache.find( {"_id":"610b7fa89cff40c989176d336d5dd334"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 49 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771653599)"},"event_id":{"$nin":[75984057,76455303]},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],1.4492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 51 ).skip( 0 ) | 0 | 51 | 16 | |
| 50 | db.events_cache.count( {"_id":"610b7fa89cff40c989176d336d5dd334"} ) | 0 | 0 | 1 | |
| 51 | db.events_cache.count( {"_id":"610b7fa89cff40c989176d336d5dd334"} ) | 0 | 0 | 1 | |
| 52 | db.events_cache.insert( {"_id":"610b7fa89cff40c989176d336d5dd334","town_sef_url":"northville-mi","data_key":["69460893de4ae56f5aecd794","68911579fb5e4bed1fbe4aae","68dc90a1c3af739f25fd3643","68f2fa20c3af739f2533e17a","68f84021c3af739f25e00467","68ba49aac3af739f257d88f4","68a3f1c4fb5e4bed1fd64c52","68db3f22c3af739f25854a65","69169298de4ae56f5ad4effd","69056f1dde4ae56f5ad83f2e","69587d8ede4ae56f5af46c6c","68f991a1c3af739f2535ad95","68917cc1fb5e4bed1f59006f","68a3f1c4fb5e4bed1fd64c64","68d204a6c3af739f25f52a5c","68db3f22c3af739f25854ac4","69169298de4ae56f5ad4f023","68941fc1fb5e4bed1fb949c6","68df33a1c3af739f2509f497","68f84021c3af739f25e005bf","690ab51fde4ae56f5a8417ea","6938d995de4ae56f5aaaa15d","693a2b13de4ae56f5a8b0c6d","68917cc1fb5e4bed1f590306","690ab51fde4ae56f5a8417ee","68a3f1c4fb5e4bed1fd64c8c","68db3f22c3af739f25854b36","69169298de4ae56f5ad4f04a","68917cc1fb5e4bed1f590488","68bf8fa6c3af739f25b3823b","68dc90a1c3af739f25fd3780","68fed7a5c3af739f25713768","6900291dc3af739f259bb7b9","69684f9ab1faf7c56a24a76c","68f2fa20c3af739f2533e26f","68df33a1c3af739f2509f50e","68db3f22c3af739f25854b85","68a3f1c4fb5e4bed1fd64ca3","68d204a6c3af739f25f52af1","68b7a6abc3af739f2571f82f","689eabbefb5e4bed1f7b3ffc","68db3f22c3af739f25854b9f","68fc34a1c3af739f25227067","6923c196de4ae56f5a41a84e","6938d995de4ae56f5aaaa24b","68f991a1c3af739f2535ae78","689eabbefb5e4bed1f7b4055","68b7a6abc3af739f2571f87c","68f991a1c3af739f2535ae72","6895714afb5e4bed1fd779b5"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":true}","modified":"MongoDate(0.66100000 1769777871)","created":"MongoDate(0.66100000 1769777871)"} , true) | 0 | 0 | 1 | |
| 53 | db.events_cache.find( {"_id":"1376b6f6de2107da9885ef4be395be29"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 54 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771653599)"},"event_id":{"$nin":[75984057,76455303,76447629]},"tags":"music","geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],1.4492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 51 ).skip( 0 ) | 0 | 38 | 7 | |
| 55 | db.events_cache.count( {"_id":"1376b6f6de2107da9885ef4be395be29"} ) | 0 | 0 | 1 | |
| 56 | db.events_cache.count( {"_id":"1376b6f6de2107da9885ef4be395be29"} ) | 0 | 0 | 1 | |
| 57 | db.events_cache.insert( {"_id":"1376b6f6de2107da9885ef4be395be29","town_sef_url":"northville-mi","data_key":["68f483ddc3af739f25f392ad","68fb1b5ec3af739f2516582e","690c3edade4ae56f5afb9f02","69200557de4ae56f5af2d082","6933cbd9de4ae56f5a4a7a3b","692156d5de4ae56f5a9caa68","68f9c9dfc3af739f25851487","68f3325ec3af739f257717d5","6933cbd9de4ae56f5a4a7b9a","68f9c9dfc3af739f2585152b","689ce6e7fb5e4bed1fda19fe","691eb3ddde4ae56f5a229e7b","6903045d3394d74e7843c343","69196dd6de4ae56f5a958b8c","692156d6de4ae56f5a9cab92","68c11967c3af739f259e321e","68c65f67c3af739f25e1ef65","69200557de4ae56f5af2d1a0","6933cbd9de4ae56f5a4a7d57","68d4dfe7c3af739f258d999c","690c3edade4ae56f5afba023","6933cbd9de4ae56f5a4a7df7","68cba56ac3af739f25f719f7","6933cbd9de4ae56f5a4a7e5a","68cf99e5c3af739f25419ca5","69196dd6de4ae56f5a958c08","69351d56de4ae56f5ae25754","691d6256de4ae56f5ae88efd","69200557de4ae56f5af2d262","6933cbd9de4ae56f5a4a7efe","6916cad8de4ae56f5a4f4e61","68e754e2c3af739f2514d8be","68f3325ec3af739f257719a4","69196dd6de4ae56f5a958c90","69181c57de4ae56f5afc728a","68dcc8e2c3af739f256094de","691eb3dede4ae56f5a22a278","6906f8dade4ae56f5a377764"],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-83.48320007324219,42.430599212646484],\"has_next_page\":false}","modified":"MongoDate(0.69300000 1769777871)","created":"MongoDate(0.69300000 1769777871)"} , true) | 0 | 0 | 1 | |
| 58 | db.ttd_towns.insert( {"name":"Article Slideshow","main_slot_type":"module","main_slot_module_id":"1022","main_slot_html":"<div id=\"atCarousel\" class=\"carousel slide\" data-interval=\"5000\" data-ride=\"carousel\">\n\t<ol class=\"carousel-indicators\">\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"0\" class=\"active\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"1\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"2\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"3\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"4\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"5\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"6\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"7\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"8\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"9\" class=\"\"><\/li>\n\t\t\t<\/ol> \n\t<div class=\"carousel-inner\">\n\t\t\t\t<div class=\"item active\" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-dog-kennel-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/dog-kennels\/\" target=\"_blank\">The 10 Best Dog Kennels in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/dog-kennels\/\" target=\"_blank\">Paw Print Inn, Novi, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">The Paw Print Inn in Novi represents one great notion in pet boarding: Luxury above all. It's not just for dogs, as cats are welcome too, and even “special needs” pets will have some… <a href=\"https:\/\/bestthingsmi.com\/dog-kennels\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-milkshake-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/milkshakes\/\" target=\"_blank\">5 Best Milkshakes in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/milkshakes\/\" target=\"_blank\">BurgerFi, Northville, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">Ann Arbor staple BurgerFi offers plenty of noteworthy sandwiches, but it's the milkshakes that are particularly exciting. Not only are there some really amazing flavors here like caramel banana… <a href=\"https:\/\/bestthingsmi.com\/milkshakes\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-salad-bars-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/salad-bars\/\" target=\"_blank\">7 Best Salad Bars in Michigan<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/salad-bars\/\" target=\"_blank\">Gaucho Steakhouse, Northville, MI <\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">Steak and salad tend to go well together and at Northville's Gaucho Steakhouse, they go together especially well. A Brazilian steakhouse complete with waterfall and Brazilian cherry wood for cooking,… <a href=\"https:\/\/bestthingsmi.com\/salad-bars\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-dance-clubs-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/dance-clubs\/\" target=\"_blank\">Best Dance Clubs and Venues in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/dance-clubs\/\" target=\"_blank\">29 Novi, Novi, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,entertainment-bt,entertainment-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-entertainment<\/div>\n\t\t\t\t<p class=\"small\">For those looking for a more upscale party experience, those heading out to Novi can try out 29 Novi, a club renowned for its “upscale loungey” experience. With a… <a href=\"https:\/\/bestthingsmi.com\/dance-clubs\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-appetizers-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/appetizers\/\" target=\"_blank\">7 Best Places for Appetizers in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/appetizers\/\" target=\"_blank\">La Bistecca, Plymouth, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">La Bistecca—the steak in Italian—has quite a bit to offer diners in and around Plymouth, but for those looking for squid done right, settle in for the appetizer portion of calamari.… <a href=\"https:\/\/bestthingsmi.com\/appetizers\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-art-classes-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/art-classes\/\" target=\"_blank\">10 Best Art Classes in Michigan<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/art-classes\/\" target=\"_blank\">Northville Art House, Northville, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">Northville's Northville Art House offers a pretty impressive array of art classes for its attendees, including not only classes through the year, but also workshops and summer camps. One of the most… <a href=\"https:\/\/bestthingsmi.com\/art-classes\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-zumba-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/zumba\/\" target=\"_blank\">The 9 Best Zumba Classes in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/zumba\/\" target=\"_blank\">Z Spot Fitness Studio, Plymouth, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,recreation-p300,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">The Z Spot Fitness Studio in Plymouth makes a particular effort to accommodate first-time students, encouraging all such students to show up 15 minutes early for registration. Once in place, Zumba,… <a href=\"https:\/\/bestthingsmi.com\/zumba\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-oyster-places-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/oysters\/\" target=\"_blank\">9 Best Places for Oysters in Michigan<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/oysters\/\" target=\"_blank\">The Sardine Room, Plymouth, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">You could be forgiven for thinking that the Sardine Room in Plymouth is focused mainly on sardines, but we assure you, seafood of all sorts is on hand here. The Sardine Room offers up a daily… <a href=\"https:\/\/bestthingsmi.com\/oysters\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-crossfit-gym-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/crossfit\/\" target=\"_blank\">The 9 Best CrossFit Gyms in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/crossfit\/\" target=\"_blank\">Five Lakes CrossFit, Farmington Hills, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,recreation-p300,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">Farmington Hills is home to Five Lakes CrossFit, a gym that not only offers experience, but also support, to make sure that visitors get their workout and look to stick with it. With not only… <a href=\"https:\/\/bestthingsmi.com\/crossfit\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-kid-dentist-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/kid-friendly-dentists\/\" target=\"_blank\">10 Best Kid-Friendly Dentists in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/kid-friendly-dentists\/\" target=\"_blank\">Olde Orchard Pediatric Dentistry, Novi, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">Olde Orchard employs experts in the field of pediatric dentistry. At Olde Orchard, the professionals strive to provide a painless and positive experience with cleanings, exams, sealants, fluoride,… <a href=\"https:\/\/bestthingsmi.com\/kid-friendly-dentists\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n\n\n","town_sef_url":"northville-mi","title":"Hiking!","subtitle":"Maps, directions and reviews for hiking around {local_city_state}!","image_url":"{\"0\":{\"content_type\":\"movie\",\"movie\":\"\/movie\/black-panther-wakanda-forever-297863\/\",\"title\":\"Black Panther: Wakanda Forever\",\"thumbnail\":\"https:\/\/www.movienewsletters.net\/photos\/297863R4.jpg\"},\"1\":{\"content_type\":\"event_tag\",\"searchtag\":\"ticketmaster","url":"\/{town_sef_url}\/hiking\/","slots":[{"rule":"{\"content_type\":\"event_tag\",\"searchtag\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"ttl\":\"1\",\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-1.jpg\"}","expiration":1769781471,"type":"Event","id":75984057,"title":"USA Hockey National Team Development Program vs. Muskegon Lumberjacks","url":"\/event\/usa-hockey-national-team-development-program-vs-muskegon-lumberjacks-2026-01-30-tm-plymouth-mi.html","image_url":"https:\/\/s1.ticketm.net\/dam\/c\/093\/c74cfd95-af21-4e64-9f85-47677b951093_105651_TABLET_LANDSCAPE_LARGE_16_9.jpg"},{"rule":"{\"content_type\":\"event_category\",\"radius\":\"15\",\"days\":\"15\",\"ttl\":\"2\",\"isempty\":1,\"event_category\":\"arts-and-entertainment\",\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/arts-2.jpg\"}","expiration":1769785071,"type":"Event","id":76455303,"title":"Saddle Up: Denim & Line Dancing!","url":"\/event\/saddle-up-denim-line-dancing-2026-01-30-tm-belleville-mi.html","image_url":"https:\/\/i.ticketweb.com\/i\/00\/12\/79\/90\/34_Edp.jpg?v=3"},{"rule":"{\"content_type\":\"event_tag\",\"searchtag\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"ttl\":\"4\",\"israndom\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-1.jpg\"}","expiration":1769792271,"type":"Event","id":76447629,"title":"La Fe Norte\u00f1a en Pontiac","url":"\/event\/la-fe-nortena-en-pontiac-2026-01-30-tm-pontiac-mi.html","image_url":"https:\/\/i.ticketweb.com\/i\/00\/12\/77\/96\/94_Edp.jpg?v=5"},{"rule":"{\"content_type\":\"event_tag\",\"searchtag\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"ttl\":\"4\",\"israndom\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-3.jpg\"}","expiration":1769792271,"type":"Event","id":76366908,"title":"Antarctigo Vespucci and Golden Apples","url":"\/event\/antarctigo-vespucci-and-golden-apples-2026-01-31-jb-detroit-mi.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2025\/11\/antarctigo-vespucci-980x551.png"}],"modified":"MongoDate(0.69700000 1769777871)","created":"MongoDate(0.69700000 1769777871)","_id":ObjectId ("697caacfe454611435035f08")} , true) | 0 | 0 | 1 | |
| 59 | db.events_cache.find( {"_id":"9ffdc89883f28273c6a3142b35ce7ef6"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 60 | db.events_radius_cache.find( {"_id":"563180eb49997c0742f71e15c75580c3"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 61 | db.events.count( {"address.town_sef_url":"northville-mi","start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770357600)"}} ) | 0 | 0 | 1 | |
| 62 | db.events.count( {"geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.10144927536231885]}},"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770616800)"}} ) | 0 | 1 | 19 | |
| 63 | db.events.count( {"geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.21739130434782608]}},"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770616800)"}} ) | 0 | 6 | 18 | |
| 64 | db.events_radius_cache.count( {"_id":"563180eb49997c0742f71e15c75580c3"} ) | 0 | 0 | 1 | |
| 65 | db.events_radius_cache.count( {"_id":"563180eb49997c0742f71e15c75580c3"} ) | 0 | 0 | 1 | |
| 66 | db.events_radius_cache.insert( {"_id":"563180eb49997c0742f71e15c75580c3","radius":25,"modified":"MongoDate(0.76700000 1769777871)","created":"MongoDate(0.76700000 1769777871)"} , true) | 0 | 0 | 1 | |
| 67 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)"},"event_id":{"$nin":[75984057,76455303,76447629,76366908]},"geo":{"$geoWithin":{"$center":[[-83.48320007324219,42.430599212646484],0.36231884057971014]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 39 | |
| 68 | db.events_cache.count( {"_id":"9ffdc89883f28273c6a3142b35ce7ef6"} ) | 0 | 0 | 1 | |
| 69 | db.events_cache.count( {"_id":"9ffdc89883f28273c6a3142b35ce7ef6"} ) | 0 | 0 | 1 | |
| 70 | db.events_cache.insert( {"_id":"9ffdc89883f28273c6a3142b35ce7ef6","town_sef_url":"northville-mi","data_key":["694bfed1de4ae56f5ab95122","68dc90a1c3af739f25fd3643","68f84021c3af739f25e00467","689cf986302db3bbce02accd","68a3f1c4fb5e4bed1fd64c52"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Northville\",\"keyword\":\"\",\"radius\":25,\"limit\":15,\"page\":1,\"sef\":\"\",\"tags\":\"\",\"tags_logical\":\"\",\"terms\":\"\",\"show_limit\":3,\"sort\":\"\",\"days\":\"\",\"images\":true,\"max-days\":365,\"max-miles\":45,\"message\":\"[message to follow]\",\"min\":50,\"prompt\":\"\",\"height\":\"\",\"width\":\"\",\"data_id\":\"\",\"more\":true,\"type\":\"\",\"autoshowmore\":false,\"link\":\"\",\"showdesc\":\"\",\"rankby\":\"\",\"empty-message\":\"\",\"ad_slots\":\"\",\"see-more-title\":\"\",\"searchdate\":\"\",\"searchenddate\":\"\",\"lat\":42.430599212646484,\"lng\":-83.48320007324219,\"latlng\":\"42.430599212646,-83.483200073242\",\"city\":\"Northville\",\"state\":\"MI\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":true}","modified":"MongoDate(0.82300000 1769777871)","created":"MongoDate(0.82300000 1769777871)"} , true) | 0 | 0 | 1 | |
| 71 | db.news.find( {"broadcast":{"$in":["usa","northville-mi","mi","wayne-county-mi"]},"$and":[{"tags":{"$ne":"at-p-opinion"}},{"tags":{"$ne":"p-opinion"}}]}, [] ).sort( {"publish_date":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 3 | |
| 72 | db.places.find( {"address.town_sef_url":"northville-mi","group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 1 | |
| 73 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 1 | |
| 74 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 1 | |
| 75 | db.towns.find( {"sef_url":"northville-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 76 | db.tokens.find( {"sef_url":{"$in":["usa","mi","wayne-county-mi","northville-mi"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 77 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 78 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 79 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 80 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 81 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 82 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 83 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 |




