{"id":178791,"date":"2012-05-02T22:56:08","date_gmt":"2012-05-02T22:56:08","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=178791"},"modified":"2018-12-18T11:46:41","modified_gmt":"2018-12-18T19:46:41","slug":"mongodb-example-code-for-adding-a-nosql-plug-in-data-source","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source","title":{"rendered":"MongoDB example code for adding a NoSQL Plug-in data source"},"author":3981,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23851],"tags":[25351,25371,25381,77141,77131],"industry":[],"product":[36991],"class_list":["post-178791","blog","type-blog","status-publish","format-standard","hentry","category-data-management","tag-big-data","tag-geodata","tag-geodatabase","tag-mongodb","tag-nosql","product-arcgis-desktop"],"acf":{"short_description":"For customers with large volumes of data, NoSQL databases provide a useful, highly scalable alternative to the traditional RDBMS.","flexible_content":[{"acf_fc_layout":"content","content":"<p><a href=\"http:\/\/blogs.esri.com\/esri\/arcgis\/files\/2012\/05\/mongo_map11.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-13384\" src=\"http:\/\/blogs.esri.com\/esri\/arcgis\/files\/2012\/05\/mongo_map11-300x200.jpeg\" alt=\"\" width=\"300\" height=\"200\" \/><\/a>For customers with large volumes of data, NoSQL databases provide a useful, highly scalable alternative to the traditional RDBMS. Developers can add support for read-only visualization and mapping of NoSQL data sources, such as MongoDB, into ArcGIS.<\/p>\n<p><a href=\"http:\/\/help.arcgis.com\/en\/sdk\/10.0\/java_ao_adf\/conceptualhelp\/engine\/index.html#\/\/000100000294000000\" target=\"_blank\" rel=\"noopener\">Plug-in data sources<\/a>\u00a0are a long standing method for displaying data in ArcGIS that is stored in non-traditional formats. MongoDB is an open source NoSQL document storage database featuring replication and data partitioning across multiple machines, robust ad hoc query support, and support for spatial indexing of simple points.<\/p>\n<p>Developers can use the\u00a0<a href=\"http:\/\/www.arcgis.com\/home\/item.html?id=25d12436c73a43c98c711826f9f662e4\" target=\"_blank\" rel=\"noopener\">example code provided here<\/a>\u00a0as a starting point and reference for their own NoSQL plug-in data sources. Using the code sample will require Visual Studio 2010 C#, MongoDB\u2019s .net driver, and the .NET Assemblies for ArcGIS.<\/p>\n<p>Thomas Breed, who supplied the info for this post, talked about Plug-in data sources and MongoDB in the Effective Geodatabase Programming session at this year\u2019s Developer Conference. You can find a video of that session\u00a0<a href=\"http:\/\/video.esri.com\/watch\/1219\/effective-geodatabase-programming\" target=\"_blank\" rel=\"noopener\">HERE<\/a>, Flash Gordon to about the 33:30 mark for the spiel on Plug-in data sources.<\/p>\n"}],"authors":[{"ID":3981,"user_firstname":"Jonathan","user_lastname":"Murphy","nickname":"Jonathan Murphy","user_nicename":"jonmurphy","display_name":"Jonathan Murphy","user_email":"jonathan_murphy@esri.com","user_url":"","user_registered":"2018-03-02 00:15:37","user_description":"Product Owner, UX Designer and Content Strategist on the Geodatabase team at Esri. \r\nWriter, musician, cockatiel whisperer and prolific world traveler.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MongoDB example code for adding a NoSQL Plug-in data source<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB example code for adding a NoSQL Plug-in data source\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-18T19:46:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\"},\"author\":{\"name\":\"Jonathan Murphy\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be\"},\"headline\":\"MongoDB example code for adding a NoSQL Plug-in data source\",\"datePublished\":\"2012-05-02T22:56:08+00:00\",\"dateModified\":\"2018-12-18T19:46:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\"},\"wordCount\":10,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Big Data\",\"geodata\",\"geodatabase\",\"MongoDB\",\"noSQL\"],\"articleSection\":[\"Data Management\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\",\"name\":\"MongoDB example code for adding a NoSQL Plug-in data source\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2012-05-02T22:56:08+00:00\",\"dateModified\":\"2018-12-18T19:46:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MongoDB example code for adding a NoSQL Plug-in data source\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be\",\"name\":\"Jonathan Murphy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png\",\"caption\":\"Jonathan Murphy\"},\"description\":\"Product Owner, UX Designer and Content Strategist on the Geodatabase team at Esri. Writer, musician, cockatiel whisperer and prolific world traveler.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/jonmurphy\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MongoDB example code for adding a NoSQL Plug-in data source","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source","og_locale":"en_US","og_type":"article","og_title":"MongoDB example code for adding a NoSQL Plug-in data source","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T19:46:41+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source"},"author":{"name":"Jonathan Murphy","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be"},"headline":"MongoDB example code for adding a NoSQL Plug-in data source","datePublished":"2012-05-02T22:56:08+00:00","dateModified":"2018-12-18T19:46:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source"},"wordCount":10,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Big Data","geodata","geodatabase","MongoDB","noSQL"],"articleSection":["Data Management"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source","name":"MongoDB example code for adding a NoSQL Plug-in data source","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2012-05-02T22:56:08+00:00","dateModified":"2018-12-18T19:46:41+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/mongodb-example-code-for-adding-a-nosql-plug-in-data-source#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"MongoDB example code for adding a NoSQL Plug-in data source"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be","name":"Jonathan Murphy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png","caption":"Jonathan Murphy"},"description":"Product Owner, UX Designer and Content Strategist on the Geodatabase team at Esri. Writer, musician, cockatiel whisperer and prolific world traveler.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/jonmurphy"}]}},"text_date":"May 2, 2012","author_name":"Jonathan Murphy","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/jonmurphy","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcMap","tag_data":[{"term_id":25351,"name":"Big Data","slug":"big-data","term_group":0,"term_taxonomy_id":25351,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":25371,"name":"geodata","slug":"geodata","term_group":0,"term_taxonomy_id":25371,"taxonomy":"post_tag","description":"","parent":0,"count":10,"filter":"raw"},{"term_id":25381,"name":"geodatabase","slug":"geodatabase","term_group":0,"term_taxonomy_id":25381,"taxonomy":"post_tag","description":"","parent":0,"count":48,"filter":"raw"},{"term_id":77141,"name":"MongoDB","slug":"mongodb","term_group":0,"term_taxonomy_id":77141,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":77131,"name":"noSQL","slug":"nosql","term_group":0,"term_taxonomy_id":77131,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"category_data":[{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":921,"filter":"raw"}],"product_data":[{"term_id":36991,"name":"ArcMap","slug":"arcgis-desktop","term_group":0,"term_taxonomy_id":36991,"taxonomy":"product","description":"","parent":36981,"count":325,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-desktop","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/178791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/3981"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=178791"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/178791\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=178791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=178791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=178791"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=178791"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=178791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}