{"id":940,"date":"2017-01-12T18:30:53","date_gmt":"2017-01-12T18:30:53","guid":{"rendered":"http:\/\/zappysys.com\/blog\/?p=940"},"modified":"2017-10-12T14:55:31","modified_gmt":"2017-10-12T14:55:31","slug":"how-to-extract-multiple-arrays-from-mongodb-using-ssis","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/","title":{"rendered":"How to extract multiple arrays from MongoDB using SSIS"},"content":{"rendered":"<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2115 alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png\" alt=\"\" width=\"88\" height=\"88\" \/><\/a>Since <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/ssis-mongodb-source\/\" target=\"_blank\" rel=\"noopener\">MongoDB Source<\/a> supports only one output you cannot select two different hierarchies as your filter criteria. However solution is easy. You can perform following steps to achieve similar result without fetching data twice with multiple sources. Same steps described below can be applied for <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\" target=\"_blank\" rel=\"noopener\">JSON Source<\/a> (read <a href=\"https:\/\/zappysys.com\/blog\/extract-read-multiple-arrays-from-json-data-file-rest-api-response\/\" target=\"_blank\" rel=\"noopener\">more here<\/a>)<\/p>\n<p>&nbsp;<\/p>\n<h2>Steps &#8211; Extract multiple arrays from MongoDB<\/h2>\n<ol>\n<li>Extract data using MongoDB source (Select output mode as Raw Document)<\/li>\n<li>Connect MongoDB Source to Multicast Transform<\/li>\n<li>Connect multi cast output to <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-parser-transform\/\" target=\"_blank\" rel=\"noopener\">JSON Parser Transform<\/a> which will take upstream raw JSON doc and convert to Flat table output just like MongoDB source. On Json Parser specify filter e.g. $.doc.<strong>Array1<\/strong>[*]<\/li>\n<li>Connect Json Parser Transform output to desired target e.g. sql server\/flat file.<\/li>\n<li>Repeat step #3,4,5 for \u00a0as many outputs you need with different filter settings (e.g. $.doc.<strong>Array2<\/strong>[*]).<\/li>\n<\/ol>\n<p>Here is more info about JSON Parser Transform (This is new Transform added in v2.2)<\/p>\n<p><a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-parser-transform\/\">\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-parser-transform\/<\/a><\/p>\n<h2>Video Tutorial &#8211; Step By Step &#8211; How to read multiple MongoDB arrays<\/h2>\n<p>Below video tutorial demonstrates following things<\/p>\n<p>* How to execute MongoDB Shell commands in SSIS (e.g. create Collection)<br \/>\n* How to read data from multiple arrays from MongoDB document (i.e. Orders, Products)<br \/>\n* Save result into two SQL Server tables<\/p>\n<div class=\"lyte-wrapper fourthree\" style=\"width:480px;max-width:100%;margin:5px auto;\"><div class=\"lyMe\" id=\"WYL_KtXRxlhBF5M\"><div id=\"lyte_KtXRxlhBF5M\" data-src=\"https:\/\/zappysys.com\/blog\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FKtXRxlhBF5M%2Fhqdefault.jpg\" class=\"pL\"><div class=\"tC\"><div class=\"tT\"><\/div><\/div><div class=\"play\"><\/div><div class=\"ctrl\"><div class=\"Lctrl\"><\/div><div class=\"Rctrl\"><\/div><\/div><\/div><noscript><a href=\"https:\/\/youtu.be\/KtXRxlhBF5M\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FKtXRxlhBF5M%2F0.jpg\" alt=\"\" width=\"480\" height=\"340\" \/><br \/>Watch this video on YouTube<\/a><\/noscript><\/div><\/div><div class=\"lL\" style=\"max-width:100%;width:480px;margin:5px auto;\"><\/div><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since MongoDB Source supports only one output you cannot select two different hierarchies as your filter criteria. However solution is easy. You can perform following steps to achieve similar result without fetching data twice with multiple sources. Same steps described below can be applied for JSON Source (read more here) &nbsp; Steps &#8211; Extract multiple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2115,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[6,46,12,149,89,171,4],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>How to extract multiple arrays from MongoDB using SSIS | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Learn how to extract multiple arrays from MongoDB document using SSIS (Drag and drop Connector). Read raw JSON documents from MongoDB collections and Parse.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"How to extract multiple arrays from MongoDB using SSIS | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to extract multiple arrays from MongoDB document using SSIS (Drag and drop Connector). Read raw JSON documents from MongoDB collections and Parse.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2017-01-12T18:30:53+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2017-10-12T14:55:31+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"88\" \/>\r\n\t<meta property=\"og:image:height\" content=\"88\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/\",\"url\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/\",\"name\":\"How to extract multiple arrays from MongoDB using SSIS | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png\",\"datePublished\":\"2017-01-12T18:30:53+00:00\",\"dateModified\":\"2017-10-12T14:55:31+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"Learn how to extract multiple arrays from MongoDB document using SSIS (Drag and drop Connector). Read raw JSON documents from MongoDB collections and Parse.\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png\",\"width\":88,\"height\":88},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to extract multiple arrays from MongoDB using SSIS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to extract multiple arrays from MongoDB using SSIS | ZappySys Blog","description":"Learn how to extract multiple arrays from MongoDB document using SSIS (Drag and drop Connector). Read raw JSON documents from MongoDB collections and Parse.","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:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/","og_locale":"en_US","og_type":"article","og_title":"How to extract multiple arrays from MongoDB using SSIS | ZappySys Blog","og_description":"Learn how to extract multiple arrays from MongoDB document using SSIS (Drag and drop Connector). Read raw JSON documents from MongoDB collections and Parse.","og_url":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2017-01-12T18:30:53+00:00","article_modified_time":"2017-10-12T14:55:31+00:00","og_image":[{"width":88,"height":88,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/","url":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/","name":"How to extract multiple arrays from MongoDB using SSIS | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png","datePublished":"2017-01-12T18:30:53+00:00","dateModified":"2017-10-12T14:55:31+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"Learn how to extract multiple arrays from MongoDB document using SSIS (Drag and drop Connector). Read raw JSON documents from MongoDB collections and Parse.","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/mongodb-logo.png","width":88,"height":88},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/how-to-extract-multiple-arrays-from-mongodb-using-ssis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to extract multiple arrays from MongoDB using SSIS"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/940"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=940"}],"version-history":[{"count":6,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/940\/revisions"}],"predecessor-version":[{"id":2120,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/940\/revisions\/2120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/2115"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}