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) 1765692000 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) 1765692000 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) 1765692000 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) 1765692000 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) 1765692000 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) 1765692000 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) 1765692000 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) 1765692000 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) 1765692000 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 Westmoreland State Park is one of the oldest and most underrated state parks in Virginia. Listed on the National Register of Historic Places in 2005 as a national historic district, the… Read More
The Jeff Rouse Swim and Sport Center is primarily a swimming center, but don’t let that deter you. The Center offers personal training as well as f and adult fitness classes in the gym. Not a… Read More
Take note: one must be 18-years-or-older simply to enter the Jack Brown’s Tattoo Revival. They’re hardcore. And we mean that in the best way possible. Not only are their artists some of… Read More
Ardent CrossFit in Stafford, Virginia is focused on giving customers plenty of reasons to choose them. They provide free child care for all customers while they work out. Members of the US military… Read More
Pho Saigon styles itself as “Fredericksburg’s First Authentic Vietnamese Restaurant.” They’re open from 11:30 a.m. for lunch until 8:30 p.m. and have a large menu with tons of… Read More
The Colonial Tavern in Fredericksburg is located near a Civil War battle site in which Irish soldiers were killed on both sides. The tavern stands in celebration of, in their words, “those men,… Read More
Dog Krazy is this year’s Readers’ Choice Winner for Favorite Pet Store and Favorite Groomer, as decided by the readers of the Free Lance Star. Their mission is “to provide only the… Read More
Gordon’s Pet Store in Warsaw, Virginia, is a pet supply store that also sells fish, turtles, and other small animals. Supplies for sale include tanks, food, toys, fishing tackle, tank… Read More
Happy Endings Bar and Grill in Fredericksburg, Virginia, is a no-drama, laid-back relaxation zone. The sundry of TVS are usually tuned to D.C. teams, including The Nationals. Daily specials include… Read More
The Charbroil Grill in Woodbridge, Virginia, is a Brazilian steakhouse offering an incredible all-you-can-eat meat experience. The lunch cuts include top sirloin steak, pork sausage, pork tenderloin… 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 Oak Grove', '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) 38.249000549316, 'lng' => (float) -76.96240234375, 'latlng' => '38.249000549316,-76.96240234375', 'city' => 'Oak Grove', 'state' => 'VA', 'theme' => '', 'page_type' => 'town' ) $options = array( 'page' => (int) 1, 'limit' => (int) 5, 'order' => array( 'created' => (int) -1 ), 'conditions' => array( 'address.town_sef_url' => 'oak-grove-va' ) )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
Oak Grove, Virginia. You can view Oak Grove venues that host many Oak Grove VA events every year.
You can find a ton of properties for sale if you search the Oak Grove page on Zillow. Currently Oak Grove has an average listing price for homes for sale on the market of $270,778. More real estate facts about Oak Grove: The number of properties currently for sale in Oak Grove is 276. The median homes for sale listing price is $199,900. This is broken down with the number of three bedroom houses in Oak Grove consisting of 161 with an average listing price for these house of $249,377. Out of the 38 houses that are four bedroom the average listing price for Oak Grove is $363,485. Interest rates for Oak Grove are at historic lows as well.
Oak Grove Virginia has a latitude of 38.249000549316 and a longitude of -76.96240234375. 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":"huntington-ut"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 41 | |
| 2 | db.sites.find( {"hostname":{"$in":["americantowns.com","localword"]}}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 3 | db.towns.find( {"sef_url":"oak-grove-va"}, [] ).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 | 31 | |
| 6 | db.ttd_towns.find( {"town_sef_url":"oak-grove-va","name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 22 | |
| 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 | 43 | |
| 9 | db.modules.find( {"name":"AT - Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 10 | db.articles.find( {"aggregate":[{"$geoNear":{"near":[-76.96240234375,38.249000549316406],"distanceField":"distance","distanceMultiplier":3963.2,"maxDistance":0.025232135647961243,"spherical":true,"query":{"tags":"at-bt-articles-home","state":"VA"}}},{"$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(1765695208415)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1765695208415)","$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 | 148 | |
| 11 | db.ttd_towns.find( {"town_sef_url":"oak-grove-va","name":"Article Slideshow"}, {"TtdTown._id":1} ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 0 | 4 | |
| 12 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 13 | db.events_cache.find( {"_id":"d0f23621d7b3d57b27b328f66fb49297"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 14 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1766383199)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 23 | |
| 15 | db.events_cache.count( {"_id":"d0f23621d7b3d57b27b328f66fb49297"} ) | 0 | 0 | 1 | |
| 16 | db.events_cache.count( {"_id":"d0f23621d7b3d57b27b328f66fb49297"} ) | 0 | 0 | 1 | |
| 17 | db.events_cache.insert( {"_id":"d0f23621d7b3d57b27b328f66fb49297","town_sef_url":"oak-grove-va","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":false}","modified":"MongoDate(0.66100000 1765695208)","created":"MongoDate(0.66100000 1765695208)"} , true) | 0 | 0 | 1 | |
| 18 | db.events_cache.find( {"_id":"e14493b4aa7f4e78254a3d6e4c1ebbcb"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 19 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1766642399)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 26 | |
| 20 | db.events_cache.count( {"_id":"e14493b4aa7f4e78254a3d6e4c1ebbcb"} ) | 0 | 0 | 1 | |
| 21 | db.events_cache.count( {"_id":"e14493b4aa7f4e78254a3d6e4c1ebbcb"} ) | 0 | 0 | 1 | |
| 22 | db.events_cache.insert( {"_id":"e14493b4aa7f4e78254a3d6e4c1ebbcb","town_sef_url":"oak-grove-va","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"10\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":false}","modified":"MongoDate(0.73000000 1765695208)","created":"MongoDate(0.73000000 1765695208)"} , true) | 0 | 0 | 1 | |
| 23 | db.events_cache.find( {"_id":"33e6dd7553aa2754dcf38450e1bf618f"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 24 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1768370399)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 59 | |
| 25 | db.events_cache.count( {"_id":"33e6dd7553aa2754dcf38450e1bf618f"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.count( {"_id":"33e6dd7553aa2754dcf38450e1bf618f"} ) | 0 | 0 | 1 | |
| 27 | db.events_cache.insert( {"_id":"33e6dd7553aa2754dcf38450e1bf618f","town_sef_url":"oak-grove-va","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"30\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":false}","modified":"MongoDate(0.86800000 1765695208)","created":"MongoDate(0.86800000 1765695208)"} , true) | 0 | 0 | 1 | |
| 28 | db.events_cache.find( {"_id":"f74d3609f4b0563eddb5ec79860d390a"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 29 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1766383199)"},"tags":"music","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 8 | |
| 30 | db.events_cache.count( {"_id":"f74d3609f4b0563eddb5ec79860d390a"} ) | 0 | 0 | 1 | |
| 31 | db.events_cache.count( {"_id":"f74d3609f4b0563eddb5ec79860d390a"} ) | 0 | 0 | 1 | |
| 32 | db.events_cache.insert( {"_id":"f74d3609f4b0563eddb5ec79860d390a","town_sef_url":"oak-grove-va","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":false}","modified":"MongoDate(0.89700000 1765695208)","created":"MongoDate(0.89700000 1765695208)"} , true) | 0 | 0 | 1 | |
| 33 | db.events_cache.find( {"_id":"b106e276edc1a7643bf74863841d0932"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 34 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1766987999)"},"tags":"music","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 9 | |
| 35 | db.events_cache.count( {"_id":"b106e276edc1a7643bf74863841d0932"} ) | 0 | 0 | 10 | |
| 36 | db.events_cache.count( {"_id":"b106e276edc1a7643bf74863841d0932"} ) | 0 | 0 | 1 | |
| 37 | db.events_cache.insert( {"_id":"b106e276edc1a7643bf74863841d0932","town_sef_url":"oak-grove-va","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":false}","modified":"MongoDate(0.95200000 1765695208)","created":"MongoDate(0.95200000 1765695208)"} , true) | 0 | 0 | 1 | |
| 38 | db.events_cache.find( {"_id":"6624058e9248293f7cdf2905dad7f798"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 39 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1766037599)"},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | |
| 40 | db.events_cache.count( {"_id":"6624058e9248293f7cdf2905dad7f798"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.count( {"_id":"6624058e9248293f7cdf2905dad7f798"} ) | 0 | 0 | 10 | |
| 42 | db.events_cache.insert( {"_id":"6624058e9248293f7cdf2905dad7f798","town_sef_url":"oak-grove-va","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":false}","modified":"MongoDate(0.98700000 1765695208)","created":"MongoDate(0.98700000 1765695208)"} , true) | 0 | 0 | 1 | |
| 43 | db.events_cache.find( {"_id":"182551b2dcfd476326b5b36df05d719f"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 3 | |
| 44 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1768370399)"},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 2 | 10 | |
| 45 | db.events_cache.count( {"_id":"182551b2dcfd476326b5b36df05d719f"} ) | 0 | 0 | 1 | |
| 46 | db.events_cache.count( {"_id":"182551b2dcfd476326b5b36df05d719f"} ) | 0 | 0 | 5 | |
| 47 | db.events_cache.insert( {"_id":"182551b2dcfd476326b5b36df05d719f","town_sef_url":"oak-grove-va","data_key":["68f2c8a93af6aa547c083973"],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":true}","modified":"MongoDate(0.05600000 1765695209)","created":"MongoDate(0.05600000 1765695209)"} , true) | 0 | 0 | 1 | |
| 48 | db.events_cache.find( {"_id":"2d32fa30f02355031870cd0573130844"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 49 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1767592799)"},"event_id":{"$nin":[76252911]},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 31 | |
| 50 | db.events_cache.count( {"_id":"2d32fa30f02355031870cd0573130844"} ) | 0 | 0 | 1 | |
| 51 | db.events_cache.count( {"_id":"2d32fa30f02355031870cd0573130844"} ) | 0 | 0 | 1 | |
| 52 | db.events_cache.insert( {"_id":"2d32fa30f02355031870cd0573130844","town_sef_url":"oak-grove-va","data_key":["6896c2c3fb5e4bed1f1b4a8c","68c3842ac3af739f25f9aa1a","68fc349ec3af739f25225e67","6870cf21fb5e4bed1f0902a7","68911577fb5e4bed1fbe30d9","68c0e124c3af739f253dc01c","68ca1ba3c3af739f25d80ef7","68ca1ba3c3af739f25d80f00","68d35624c3af739f25020384","68e5cb1ec3af739f25c77543","68527c95fb5e4bed1f028516","68c4d5a7c3af739f2596da5c","68e4799dc3af739f25a9ce93","68fd861dc3af739f2553bd90","6896c2c3fb5e4bed1f1b4abd","68c3842ac3af739f25f9aa4d","68e5cb1ec3af739f25c7756f","68c0e124c3af739f253dc082","68911577fb5e4bed1fbe3118","687a0971fb5e4bed1ff185a8","68527ca0fb5e4bed1f0298c6","68a9262bc3af739f252fcb45","68e08521c3af739f2546680d","6889db7efb5e4bed1fad343a","68ca1ba3c3af739f25d80f8d","68ad1aa9c3af739f25f0a225","68bbd366c3af739f259736cf","68c11965c3af739f259e2d56","68e86e1dc3af739f25218899","68c0e124c3af739f253dc12c","68f05721c3af739f25946ddd","68c0e124c3af739f253dc13d","68ca1ba3c3af739f25d80fd8","68fc349ec3af739f25225f1e","6892ce3ffb5e4bed1f90a98a","68761542fb5e4bed1f7ba92e","689ffd43fb5e4bed1f955f4b","68b7a6aac3af739f2571eac8","68c0e124c3af739f253dc1ad","6900291bc3af739f259ba61a","69169296de4ae56f5ad4e5a2","6917e414de4ae56f5a8ff6b7","6900291bc3af739f259ba620","68551f4afb5e4bed1fd1162f","6896c2c3fb5e4bed1f1b4b83","68761542fb5e4bed1f7baa14","6913ef94de4ae56f5a16b158","685670d9fb5e4bed1f3b3107","6880a136fb5e4bed1f953aa3","68917cbffb5e4bed1f58f636"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":true}","modified":"MongoDate(0.15300000 1765695209)","created":"MongoDate(0.15400000 1765695209)"} , true) | 0 | 0 | 1 | |
| 53 | db.events_cache.find( {"_id":"92531512a41809c306c475b54df3f268"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 54 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)","$lt":"MongoDate(0.00000000 1767592799)"},"event_id":{"$nin":[76252911,75789400]},"tags":"music","geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 15 | |
| 55 | db.events_cache.count( {"_id":"92531512a41809c306c475b54df3f268"} ) | 0 | 0 | 1 | |
| 56 | db.events_cache.count( {"_id":"92531512a41809c306c475b54df3f268"} ) | 0 | 0 | 1 | |
| 57 | db.events_cache.insert( {"_id":"92531512a41809c306c475b54df3f268","town_sef_url":"oak-grove-va","data_key":["69200554de4ae56f5af2c47c","68c65f65c3af739f25e1e7d0","68b14767c3af739f250ab447","68e8a65dc3af739f255b8ab8","68f9c9ddc3af739f25850943","687925a8fb5e4bed1f254df2","6857c251fb5e4bed1f86ebe3","68d4dfe6c3af739f258d8f1a","68bbd366c3af739f259736d7","68f3325cc3af739f25770ed3","69200554de4ae56f5af2c56b","69103356de4ae56f5a25fdce","690d9056de4ae56f5a18dca7","68e0bd60c3af739f257665a8","68551f4afb5e4bed1fd1173e","69200554de4ae56f5af2c625","6874669bfb5e4bed1ffd0741","691eb3d8de4ae56f5a228a18","68dcc8e0c3af739f25608d17","68a5d7d9c3af739f256e826f","68d782e3c3af739f253fe5ab","68e0bd60c3af739f257665f5","68eb495cc3af739f25ce16d2","6901b2dbc3af739f25187e8b","6933cbd6de4ae56f5a4a614c","6857c263fb5e4bed1f870a49","689ffd43fb5e4bed1f956026","68a14ec4fb5e4bed1fa1859f","68fc6cddc3af739f25507eea","68dcc8e0c3af739f25608d6e","68926ca1fb5e4bed1f3793dc","68bbd366c3af739f2597378a","68d4dfe6c3af739f258d90a0","6933cbd6de4ae56f5a4a622a","69351d53de4ae56f5ae24e58","6872a166fb5e4bed1f8b9ecd","68a5d7d9c3af739f256e82c9","691427d8de4ae56f5a80d5ca","69157955de4ae56f5a227ace","69200555de4ae56f5af2c7f9","69200555de4ae56f5af2c82c","6933cbd6de4ae56f5a4a628d","68b298e6c3af739f258686e9","69200555de4ae56f5af2c878","68d4dfe6c3af739f258d9138","6877f72cfb5e4bed1f35dcbd","68bbd366c3af739f259737f9","68d782e3c3af739f253fe629","69200555de4ae56f5af2c8c3","6933cbd6de4ae56f5a4a635a"],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-76.96240234375,38.249000549316406],\"has_next_page\":true}","modified":"MongoDate(0.19800000 1765695209)","created":"MongoDate(0.19800000 1765695209)"} , true) | 0 | 0 | 2 | |
| 58 | db.places.find( {"geo":{"$near":[-76.96240234375,38.249000549316406],"$maxDistance":0.14492753623188406},"tags":"arts-and-entertainment"}, [] ).sort( [] ).limit( 51 ).skip( 0 ) | 0 | 11 | 3 | |
| 59 | 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\/va-amazing-wonders-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/amazing-wonders\/\" target=\"_blank\">The 15 Most Amazing Wonders to Discover in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/amazing-wonders\/\" target=\"_blank\">Westmoreland State Park, Montross, VA<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,entertainment-bt,entertainment-p300,at-bt-articles-home,at-bt-articles-entertainment<\/div>\n\t\t\t\t<p class=\"small\">The Westmoreland State Park is one of the oldest and most underrated state parks in Virginia. Listed on the National Register of Historic Places in 2005 as a national historic district, the… <a href=\"https:\/\/bestthingsva.com\/amazing-wonders\/\" 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\/va-sports-center-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/sports-centers\/\" target=\"_blank\">The 8 Best Sports Centers in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/sports-centers\/\" target=\"_blank\">Jeff Rouse Swim and Sport Center, Stafford, VA<\/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 Jeff Rouse Swim and Sport Center is primarily a swimming center, but don’t let that deter you. The Center offers personal training as well as f and adult fitness classes in the gym. Not a… <a href=\"https:\/\/bestthingsva.com\/sports-centers\/\" 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\/va-tattoo-parlor-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/tattoo-parlors\/\" target=\"_blank\">The 10 Best Tattoo Parlors in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/tattoo-parlors\/\" target=\"_blank\">Jack Brown\u2019s Tattoo Revival, Fredericksburg, VA<\/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\">Take note: one must be 18-years-or-older simply to enter the Jack Brown’s Tattoo Revival. They’re hardcore. And we mean that in the best way possible. Not only are their artists some of… <a href=\"https:\/\/bestthingsva.com\/tattoo-parlors\/\" 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\/va-crossfit-gym-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/crossfit\/\" target=\"_blank\">The 8 Best CrossFit Gyms in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/crossfit\/\" target=\"_blank\">Ardent CrossFit, Stafford, VA<\/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\">Ardent CrossFit in Stafford, Virginia is focused on giving customers plenty of reasons to choose them. They provide free child care for all customers while they work out. Members of the US military… <a href=\"https:\/\/bestthingsva.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\/va-pho-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/pho-restaurants\/\" target=\"_blank\">8 Best Pho Restaurants in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/pho-restaurants\/\" target=\"_blank\">Pho Saigon Restaurant, Fredericksburg, VA<\/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\">Pho Saigon styles itself as “Fredericksburg’s First Authentic Vietnamese Restaurant.” They’re open from 11:30 a.m. for lunch until 8:30 p.m. and have a large menu with tons of… <a href=\"https:\/\/bestthingsva.com\/pho-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\/va-pubs-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/pubs\/\" target=\"_blank\">8 Best Pubs in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/pubs\/\" target=\"_blank\">Colonial Tavern, Home to the Irish Brigade, Fredericksburg, VA<\/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\">The Colonial Tavern in Fredericksburg is located near a Civil War battle site in which Irish soldiers were killed on both sides. The tavern stands in celebration of, in their words, “those men,… <a href=\"https:\/\/bestthingsva.com\/pubs\/\" 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\/va-pet-boutique-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/pet-boutiques\/\" target=\"_blank\">6 Best Pet Boutiques in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/pet-boutiques\/\" target=\"_blank\">Dog Krazy, Fredericksburg, VA<\/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\">Dog Krazy is this year’s Readers’ Choice Winner for Favorite Pet Store and Favorite Groomer, as decided by the readers of the Free Lance Star. Their mission is “to provide only the… <a href=\"https:\/\/bestthingsva.com\/pet-boutiques\/\" 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\/va-pet-store-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/pet-stores\/\" target=\"_blank\">The 8 Best Pet Stores in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/pet-stores\/\" target=\"_blank\">Gordon\u2019s Pet Store, Warsaw, VA<\/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\">Gordon’s Pet Store in Warsaw, Virginia, is a pet supply store that also sells fish, turtles, and other small animals. Supplies for sale include tanks, food, toys, fishing tackle, tank… <a href=\"https:\/\/bestthingsva.com\/pet-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\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/va-sports-bar-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/sports-bars\/\" target=\"_blank\">The 10 Best Sports Bars in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/sports-bars\/\" target=\"_blank\">Happy Endings, Fredericksburg, VA<\/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\">Happy Endings Bar and Grill in Fredericksburg, Virginia, is a no-drama, laid-back relaxation zone. The sundry of TVS are usually tuned to D.C. teams, including The Nationals. Daily specials include… <a href=\"https:\/\/bestthingsva.com\/sports-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\/va-steakhouse-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsva.com\/steakhouses\/\" target=\"_blank\">The 9 Best Steakhouses in Virginia!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsva.com\/steakhouses\/\" target=\"_blank\">Charbroil Grill Brazilian Steakhouse, Woodbridge, VA<\/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\">The Charbroil Grill in Woodbridge, Virginia, is a Brazilian steakhouse offering an incredible all-you-can-eat meat experience. The lunch cuts include top sirloin steak, pork sausage, pork tenderloin… <a href=\"https:\/\/bestthingsva.com\/steakhouses\/\" 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":"oak-grove-va","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\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"ttl\":\"2\",\"isempty\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/festivals-1.jpg\"}","expiration":1765702408,"type":"Event","id":76252911,"title":"Winter Capital Art and Craft Festival","url":"\/event\/winter-capital-art-and-craft-festival-2025-12-14-chantilly-va.html","image_url":"https:\/\/cdn-taco.americantowns.com\/content-img\/lexe-craft-fair-show-2.jpg"},{"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":1765709609,"type":"Event","id":75789400,"title":"Wicked (Touring)","url":"\/event\/wicked-touring-2025-12-17-tm-baltimore-md.html","image_url":"https:\/\/s1.ticketm.net\/dam\/a\/8f4\/eac77d3f-de25-40f5-af88-00ea8c1568f4_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":1765709609,"type":"Event","id":76327611,"title":"Black Assets, Mighty Mark and more","url":"\/event\/black-assets-mighty-mark-and-more-2025-12-19-jb-baltimore-md.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2021\/08\/jambase-default-band-image-bw-980x551.png"},{"rule":"{\"content_type\":\"group_category\",\"radius\":\"10\",\"ttl\":\"8\",\"israndom\":1,\"group_category\":\"arts-and-entertainment\",\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/arts-1.jpg\",\"days\":1}","expiration":1765724009,"type":"Place","id":2251497,"title":"Colonial Beach Bike Fest","url":"\/place\/colonial-beach-bike-fest-colonial-beach-va.html","image_url":"https:\/\/cdn-taco.americantowns.com\/content-img\/lexe-other-festival-2.jpg"}],"modified":"MongoDate(0.21400000 1765695209)","created":"MongoDate(0.21400000 1765695209)","_id":ObjectId ("693e5ee982d330d29d083c8d")} , true) | 0 | 0 | 1 | |
| 60 | db.events_cache.find( {"_id":"452e367677fd596811e7d5b04be97ee5"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 61 | db.events_radius_cache.find( {"_id":"519eddd2b89c6817c5874ad7b15fb7b8"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 62 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765692000)"},"event_id":{"$nin":[76252911,75789400,76327611]},"geo":{"$geoWithin":{"$center":[[-76.96240234375,38.249000549316406],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 | 1 | 469 | |
| 63 | db.events_cache.count( {"_id":"452e367677fd596811e7d5b04be97ee5"} ) | 0 | 0 | 3 | |
| 64 | db.events_cache.count( {"_id":"452e367677fd596811e7d5b04be97ee5"} ) | 0 | 0 | 1 | |
| 65 | db.events_cache.insert( {"_id":"452e367677fd596811e7d5b04be97ee5","town_sef_url":"oak-grove-va","data_key":["68ff1bb3315a2fa2aa0b3e6d"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Oak Grove\",\"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\":38.249000549316406,\"lng\":-76.96240234375,\"latlng\":\"38.249000549316,-76.96240234375\",\"city\":\"Oak Grove\",\"state\":\"VA\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":false}","modified":"MongoDate(0.74000000 1765695209)","created":"MongoDate(0.74000000 1765695209)"} , true) | 0 | 0 | 1 | |
| 66 | db.news.find( {"broadcast":{"$in":["usa","oak-grove-va","va","westmoreland-county-va"]},"$and":[{"tags":{"$ne":"at-p-opinion"}},{"tags":{"$ne":"p-opinion"}}]}, [] ).sort( {"publish_date":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 4 | |
| 67 | db.places.find( {"address.town_sef_url":"oak-grove-va","group_id":{"$nin":[2251497]},"group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 1 | 1 | |
| 68 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 1 | |
| 69 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 1 | |
| 70 | db.towns.find( {"sef_url":"oak-grove-va"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 71 | db.tokens.find( {"sef_url":{"$in":["usa","va","westmoreland-county-va","oak-grove-va"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 72 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 9 | |
| 73 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 74 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 75 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 76 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 77 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 78 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 |



