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) 1769580000 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) 1769580000 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) 1769580000 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) 1769580000 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) 1769580000 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) 1769580000 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) 1769580000 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) 1769580000 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) 1769580000 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
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
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
Nagomi Japanese Restaurant in Novi has an impressive range of options, and not just in the ramen department either. Whether you're after shio with the sliced roast pork, niratama with leek and egg,… Read More
Novi's Paradise Park delivers celebration in just about any fashion you could ask for. Sure, there are bar and bat mitzvahs alike, as well as bachelor/bachelorette parties and even bridal and baby… Read More
Safari Playground in Walled Lake is a little something unique. Built especially for rainy days—but good pretty much any time—Safari Playground is a jungle-themed indoor playground. It's… 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
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
Treehouse for the Earth's Children offers a surprising range of options, including a full grocery store, a massage center, and a range of organic products including fermented milk and drinks… 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 Novi', '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.480499267578, 'lng' => (float) -83.495498657227, 'latlng' => '42.480499267578,-83.495498657227', 'city' => 'Novi', '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' => 'novi-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
Novi, Michigan. Population for Novi from the last gathering is 47386. You can view Novi venues that host many Novi MI events every year.
You can find a ton of properties for sale if you search the Novi page on Zillow. Currently Novi has an average listing price for homes for sale on the market of $351,064. More real estate facts about Novi: The number of properties currently for sale in Novi is 4,904. The median homes for sale listing price is $240,400. This is broken down with the number of three bedroom houses in Novi consisting of 1,909 with an average listing price for these house of $216,522. Out of the 1,850 houses that are four bedroom the average listing price for Novi is $447,845. Interest rates for Novi are at historic lows as well.
Novi Michigan has a latitude of 42.480499267578 and a longitude of -83.495498657227. 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":"sturgis-ms"}, [] ).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":"novi-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":"novi-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 | 4 | |
| 9 | db.modules.find( {"name":"AT - Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 10 | db.articles.find( {"aggregate":[{"$geoNear":{"near":[-83.49549865722656,42.480499267578125],"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(1769632160304)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769632160304)","$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 | 97 | |
| 11 | db.ttd_towns.find( {"town_sef_url":"novi-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":"f4ed5c2de72ad6d2b58ac8d25522b56f"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 14 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1770271199)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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 | 36 | |
| 15 | db.events_cache.count( {"_id":"f4ed5c2de72ad6d2b58ac8d25522b56f"} ) | 0 | 0 | 1 | |
| 16 | db.events_cache.count( {"_id":"f4ed5c2de72ad6d2b58ac8d25522b56f"} ) | 0 | 0 | 1 | |
| 17 | db.events_cache.insert( {"_id":"f4ed5c2de72ad6d2b58ac8d25522b56f","town_sef_url":"novi-mi","data_key":["68911579fb5e4bed1fbe4bc0"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":true}","modified":"MongoDate(0.49500000 1769632160)","created":"MongoDate(0.49500000 1769632160)"} , true) | 0 | 0 | 1 | |
| 18 | db.events_cache.find( {"_id":"dde1f918b7f0395c6237a291a892368d"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 19 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1770271199)"},"event_id":{"$nin":[75984057]},"tags":"music","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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":"dde1f918b7f0395c6237a291a892368d"} ) | 0 | 0 | 1 | |
| 21 | db.events_cache.count( {"_id":"dde1f918b7f0395c6237a291a892368d"} ) | 0 | 0 | 1 | |
| 22 | db.events_cache.insert( {"_id":"dde1f918b7f0395c6237a291a892368d","town_sef_url":"novi-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.51800000 1769632160)","created":"MongoDate(0.51800000 1769632160)"} , true) | 0 | 0 | 1 | |
| 23 | db.events_cache.find( {"_id":"9cf56619a55015f8cb831ae3a3d2fcad"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 24 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1770875999)"},"event_id":{"$nin":[75984057]},"tags":"music","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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":"9cf56619a55015f8cb831ae3a3d2fcad"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.count( {"_id":"9cf56619a55015f8cb831ae3a3d2fcad"} ) | 0 | 0 | 1 | |
| 27 | db.events_cache.insert( {"_id":"9cf56619a55015f8cb831ae3a3d2fcad","town_sef_url":"novi-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.54500000 1769632160)","created":"MongoDate(0.54500000 1769632160)"} , true) | 0 | 0 | 1 | |
| 28 | db.events_cache.find( {"_id":"0b3c5d2d7e702f05af758151a3de95bf"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 29 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1769925599)"},"event_id":{"$nin":[75984057]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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":"0b3c5d2d7e702f05af758151a3de95bf"} ) | 0 | 0 | 1 | |
| 31 | db.events_cache.count( {"_id":"0b3c5d2d7e702f05af758151a3de95bf"} ) | 0 | 0 | 1 | |
| 32 | db.events_cache.insert( {"_id":"0b3c5d2d7e702f05af758151a3de95bf","town_sef_url":"novi-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.56400000 1769632160)","created":"MongoDate(0.56400000 1769632160)"} , true) | 0 | 0 | 1 | |
| 33 | db.events_cache.find( {"_id":"e88e5082416b109e0c1122ba4e2cc266"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 34 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1772258399)"},"event_id":{"$nin":[75984057]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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":"e88e5082416b109e0c1122ba4e2cc266"} ) | 0 | 0 | 1 | |
| 36 | db.events_cache.count( {"_id":"e88e5082416b109e0c1122ba4e2cc266"} ) | 0 | 0 | 1 | |
| 37 | db.events_cache.insert( {"_id":"e88e5082416b109e0c1122ba4e2cc266","town_sef_url":"novi-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.58200000 1769632160)","created":"MongoDate(0.58200000 1769632160)"} , true) | 0 | 0 | 1 | |
| 38 | db.events_cache.find( {"_id":"978aa563a5b2df1483a383539863c128"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 39 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1770098399)"},"event_id":{"$nin":[75984057]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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 | 15 | |
| 40 | db.events_cache.count( {"_id":"978aa563a5b2df1483a383539863c128"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.count( {"_id":"978aa563a5b2df1483a383539863c128"} ) | 0 | 0 | 1 | |
| 42 | db.events_cache.insert( {"_id":"978aa563a5b2df1483a383539863c128","town_sef_url":"novi-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"10\",\"days\":\"5\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.62700000 1769632160)","created":"MongoDate(0.62700000 1769632160)"} , true) | 0 | 0 | 1 | |
| 43 | db.events_cache.find( {"_id":"979a4d30294d3071c13f38fd1b55259d"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 44 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1770962399)"},"event_id":{"$nin":[75984057]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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 | 1 | 28 | |
| 45 | db.events_cache.count( {"_id":"979a4d30294d3071c13f38fd1b55259d"} ) | 0 | 0 | 1 | |
| 46 | db.events_cache.count( {"_id":"979a4d30294d3071c13f38fd1b55259d"} ) | 0 | 0 | 1 | |
| 47 | db.events_cache.insert( {"_id":"979a4d30294d3071c13f38fd1b55259d","town_sef_url":"novi-mi","data_key":["68df33a1c3af739f2509f497"],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"15\",\"days\":\"15\",\"show\":1,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.69700000 1769632160)","created":"MongoDate(0.69700000 1769632160)"} , true) | 0 | 0 | 1 | |
| 48 | db.events_cache.find( {"_id":"017bf60bfa5797fe806408a63da9a616"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 49 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1771480799)"},"event_id":{"$nin":[75984057,76206617]},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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 | 17 | |
| 50 | db.events_cache.count( {"_id":"017bf60bfa5797fe806408a63da9a616"} ) | 0 | 0 | 1 | |
| 51 | db.events_cache.count( {"_id":"017bf60bfa5797fe806408a63da9a616"} ) | 0 | 0 | 1 | |
| 52 | db.events_cache.insert( {"_id":"017bf60bfa5797fe806408a63da9a616","town_sef_url":"novi-mi","data_key":["68a3f1c4fb5e4bed1fd64bb4","68d204a6c3af739f25f5293e","68f6ee9bc3af739f25829a03","68f6ee9bc3af739f25829a0e","68a3f1c4fb5e4bed1fd64bed","69169298de4ae56f5ad4ef83","69324212de4ae56f5af033ad","68f2fa20c3af739f2533e0fe","6938d995de4ae56f5aaaa07f","68911579fb5e4bed1fbe4830","68a3f1c4fb5e4bed1fd64c20","69169298de4ae56f5ad4efbc","68c8ca22c3af739f25291e84","695b208fde4ae56f5a0812d9","69460893de4ae56f5aecd794","68911579fb5e4bed1fbe4aae","68dc90a1c3af739f25fd3643","68f2fa20c3af739f2533e17a","68f84021c3af739f25e00467","68ba49aac3af739f257d88f4","68a3f1c4fb5e4bed1fd64c52","68db3f22c3af739f25854a65","69169298de4ae56f5ad4effd","69056f1dde4ae56f5ad83f2e","6967019cb1faf7c56a6c994f","69587d8ede4ae56f5af46c6c","68f991a1c3af739f2535ad95","68917cc1fb5e4bed1f59006f","68a3f1c4fb5e4bed1fd64c64","68d204a6c3af739f25f52a5c","68db3f22c3af739f25854ac4","69169298de4ae56f5ad4f023","68941fc1fb5e4bed1fb949c6","68f84021c3af739f25e005bf","690ab51fde4ae56f5a8417ea","6938d995de4ae56f5aaaa15d","693a2b13de4ae56f5a8b0c6d","68917cc1fb5e4bed1f590306","690ab51fde4ae56f5a8417ee","68a3f1c4fb5e4bed1fd64c8c","68db3f22c3af739f25854b36","69169298de4ae56f5ad4f04a","68917cc1fb5e4bed1f590488","68bf8fa6c3af739f25b3823b","68dc90a1c3af739f25fd3780","68fed7a5c3af739f25713768","6900291dc3af739f259bb7b9","69684f9ab1faf7c56a24a76c","68f2fa20c3af739f2533e26f","68df33a1c3af739f2509f50e"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":true}","modified":"MongoDate(0.74000000 1769632160)","created":"MongoDate(0.74000000 1769632160)"} , true) | 0 | 0 | 1 | |
| 53 | db.events_cache.find( {"_id":"916c8a7e99634b9d1137772b8abdee59"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 54 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)","$lt":"MongoDate(0.00000000 1771480799)"},"event_id":{"$nin":[75984057,76206617,75956732]},"tags":"music","geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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 | 37 | 7 | |
| 55 | db.events_cache.count( {"_id":"916c8a7e99634b9d1137772b8abdee59"} ) | 0 | 0 | 1 | |
| 56 | db.events_cache.count( {"_id":"916c8a7e99634b9d1137772b8abdee59"} ) | 0 | 0 | 1 | |
| 57 | db.events_cache.insert( {"_id":"916c8a7e99634b9d1137772b8abdee59","town_sef_url":"novi-mi","data_key":["68e6035fc3af739f25f7f11e","69181c56de4ae56f5afc705f","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"],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-83.49549865722656,42.480499267578125],\"has_next_page\":false}","modified":"MongoDate(0.77300000 1769632160)","created":"MongoDate(0.77300000 1769632160)"} , 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-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-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\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-ramen-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/ramen-restaurants\/\" target=\"_blank\">5 Best Ramen Places 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\/ramen-restaurants\/\" target=\"_blank\">Nagomi Japanese Restaurant, Novi, 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\">Nagomi Japanese Restaurant in Novi has an impressive range of options, and not just in the ramen department either. Whether you're after shio with the sliced roast pork, niratama with leek and egg,… <a href=\"https:\/\/bestthingsmi.com\/ramen-restaurants\/\" 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-kids-birthday-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/birthday-party-places-for-kids\/\" target=\"_blank\">9 Best Places for a Kid\u2019s Birthday Party 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\/birthday-party-places-for-kids\/\" target=\"_blank\">Paradise Park, Novi, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,community-life-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">Novi's Paradise Park delivers celebration in just about any fashion you could ask for. Sure, there are bar and bat mitzvahs alike, as well as bachelor\/bachelorette parties and even bridal and baby… <a href=\"https:\/\/bestthingsmi.com\/birthday-party-places-for-kids\/\" 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-playgrounds-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/playgrounds\/\" target=\"_blank\">The 9 Best Playgrounds 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\/playgrounds\/\" target=\"_blank\">Safari Playground, Walled Lake, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,community-life-p300,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">Safari Playground in Walled Lake is a little something unique. Built especially for rainy days—but good pretty much any time—Safari Playground is a jungle-themed indoor playground. It's… <a href=\"https:\/\/bestthingsmi.com\/playgrounds\/\" 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-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-holistic-stores-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/holistic-health-food-stores\/\" target=\"_blank\">The 7 Best Holistic and Health Food Stores 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\/holistic-health-food-stores\/\" target=\"_blank\">Treehouse for the Earth's Children, Farmington, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,food-drink-p300,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">Treehouse for the Earth's Children offers a surprising range of options, including a full grocery store, a massage center, and a range of organic products including fermented milk and drinks… <a href=\"https:\/\/bestthingsmi.com\/holistic-health-food-stores\/\" 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":"novi-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":1769635760,"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":1769639360,"type":"Event","id":76206617,"title":"Prowler - Metallica Tribute, Slipknot Tribute - Tattered & Torn, Tribute to PANTERA - Domination Detroit","url":"\/event\/prowler-metallica-tribute-slipknot-tribute-tattered-torn-tribute-to-pantera-domination-detroit-2026-01-31-tm-westland-mi.html","image_url":"https:\/\/i.ticketweb.com\/i\/00\/13\/22\/00\/23_Edp.jpg?v=6"},{"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":1769646560,"type":"Event","id":75956732,"title":"Detroit Red Wings vs. Colorado Avalanche","url":"\/event\/detroit-red-wings-vs-colorado-avalanche-2026-01-31-tm-detroit-mi.html","image_url":"https:\/\/s1.ticketm.net\/dam\/a\/015\/c6fbf2ff-8115-4f25-aeae-c61bed8d2015_SOURCE"},{"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":1769646560,"type":"Event","id":76393022,"title":"TWINSICK","url":"\/event\/twinsick-2026-02-12-jb-detroit-mi.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2021\/08\/jambase-default-band-image-bw-980x551.png"}],"modified":"MongoDate(0.77600000 1769632160)","created":"MongoDate(0.77600000 1769632160)","_id":ObjectId ("697a71a0749a9bffec0691ed")} , true) | 0 | 0 | 1 | |
| 59 | db.events_cache.find( {"_id":"fd67d64ddccaadb1ee23a86c1f3ceb86"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 60 | db.events_radius_cache.find( {"_id":"fe0ab80d6069162bae25708f4b8ce472"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 61 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769580000)"},"event_id":{"$nin":[75984057,76206617,75956732,76393022]},"geo":{"$geoWithin":{"$center":[[-83.49549865722656,42.480499267578125],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 | 41 | |
| 62 | db.events_cache.count( {"_id":"fd67d64ddccaadb1ee23a86c1f3ceb86"} ) | 0 | 0 | 1 | |
| 63 | db.events_cache.count( {"_id":"fd67d64ddccaadb1ee23a86c1f3ceb86"} ) | 0 | 0 | 1 | |
| 64 | db.events_cache.insert( {"_id":"fd67d64ddccaadb1ee23a86c1f3ceb86","town_sef_url":"novi-mi","data_key":["694bfed1de4ae56f5ab95101","68a3f1c4fb5e4bed1fd64bb4","68d204a6c3af739f25f5293e","68a3f1c4fb5e4bed1fd64bed","69324212de4ae56f5af033ad"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Novi\",\"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.480499267578125,\"lng\":-83.49549865722656,\"latlng\":\"42.480499267578,-83.495498657227\",\"city\":\"Novi\",\"state\":\"MI\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":true}","modified":"MongoDate(0.83700000 1769632160)","created":"MongoDate(0.83700000 1769632160)"} , true) | 0 | 0 | 1 | |
| 65 | db.news.find( {"broadcast":{"$in":["usa","novi-mi","mi","oakland-county-mi"]},"$and":[{"tags":{"$ne":"at-p-opinion"}},{"tags":{"$ne":"p-opinion"}}]}, [] ).sort( {"publish_date":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 2 | |
| 66 | db.places.find( {"address.town_sef_url":"novi-mi","group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 1 | |
| 67 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 1 | |
| 68 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 1 | |
| 69 | db.towns.find( {"sef_url":"novi-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 70 | db.tokens.find( {"sef_url":{"$in":["usa","mi","oakland-county-mi","novi-mi"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 71 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 72 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 73 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 74 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 75 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 76 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 77 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 |




