<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SSIS MongoDB Source Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/category/ssis/components/ssis-mongodb-source/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/category/ssis/components/ssis-mongodb-source/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Fri, 21 Nov 2025 03:31:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>SSIS MongoDB Source Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/category/ssis/components/ssis-mongodb-source/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to configure MongoDB SSL Connection in SSIS</title>
		<link>https://zappysys.com/blog/configure-mongodb-ssl-connection-certificate/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Tue, 29 Aug 2017 19:50:01 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB Source]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[pem]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[X509]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=1719</guid>

					<description><![CDATA[<p>Introduction MongoDB comes with SSL support, which can secure your end-to-end communication. However, setting up a MongoDB SSL Connection may require some configuration on both sides (i.e., Server and Client side). In this post, we aim to secure your MongoDB Integration in SSIS. Now, let&#8217;s look at the steps to configure SSL in MongoDB. Configure [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/configure-mongodb-ssl-connection-certificate/">How to configure MongoDB SSL Connection in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2017/08/mongodb-logo.png"><img 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>MongoDB comes with SSL support, which can secure your end-to-end communication. However, setting up a MongoDB SSL Connection may require some configuration on both sides (i.e., Server and Client side). In this post, we aim to secure your <a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-integration-pack/" target="_blank" rel="noopener">MongoDB Integration in SSIS</a>.</p>
<p>Now, let&#8217;s look at the steps to configure SSL in MongoDB.</p>
<h2>Configure SSL Support in MongoDB Server</h2>
<p>To configure MongoDB for SSL connectivity, the very first step is to generate a self-signed certificate in <a href="http://how2ssl.com/articles/working_with_pem_files/" target="_blank" rel="noopener">*.pem format</a> (This must be stored on the server)</p>
<h3>Download and Install OpenSSL</h3>
<p>First step is to <a href="http://slproweb.com/products/Win32OpenSSL.html" target="_blank" rel="noopener">download and install OpenSSL</a>. <span style="box-sizing: border-box; margin: 0px; padding: 0px;">Assuming you are running <strong>a </strong><span style="box-sizing: border-box; margin: 0px; padding: 0px;"><strong>64 Bit Windows</strong> OS, you can download the <strong>64 Bit Lite version</strong> of OpenSSL (about 3 </span>MB).</span> If you install it using default settings, then all binaries will be installed under <strong>C:\OpenSSL-Win64\bin\ </strong></p>
<h3>Create a self-signed certificate and *.pem file using OpenSSL.</h3>
<p>If you don&#8217;t have a trust issue and want to use a self-signed certificate rather than buying from a 3rd-party SSL Certificate Authority, you can create a self-signed certificate using the OpenSSL Command line as shown below. Now let&#8217;s look at how to generate a private key, a certificate file, and finally the *.pem file, which is the only required file by MongoDB.</p>
<p>A PEM file is the most common file format (container file format), which includes a Certificate and a Private Key in a single file.</p>
<p><span style="box-sizing: border-box; margin: 0px; padding: 0px;">Let&#8217;s look at how to <strong>create a PEM file using OpenSSL</strong>.</span></p>
<ol>
<li>First, run the command below. When prompted, enter &#8220;passphrase&#8221; (in our case, enter &#8220;test&#8221;).<br />
<pre class="crayon-plain-tag">openssl genrsa -des3 -out server.key 2048</pre>
</li>
<li>Now run the command below to <strong>generate a private key</strong> (*.key file)<br />
<pre class="crayon-plain-tag">openssl rsa -in server.key -out server.key</pre>
</li>
<li>After the private key is created, run the command below to <strong>create a CSR file</strong> (i.e., &#8220;Certificate Signing Request&#8221;). This file is needed to generate an actual certificate (Self-Signed or Signed by a 3rd Party, such as VeriSign or RapidSSL). If you omit the sub argument from below, then it may ask you a few questions (e.g, company name, department, etc), but for testing purposes, let&#8217;s make it easy 🙂<br />
To enter full details or just provide CN=xxxx<br />
<pre class="crayon-plain-tag">openssl req -sha256 -new -key server.key -out server.csr -subj &quot;/C=US/ST=Georgia/L=Atlanta/O=ZappySys LLC/OU=Org/E=testuser@zappysys.com/CN=localhost&quot;
-- or --
openssl req -sha256 -new -key server.key -out server.csr -subj &quot;/CN=localhost&quot;</pre>
</li>
<li>Now, let&#8217;s run the command below to <strong>generate a certificate file</strong> (*.crt). We are setting the expiration to 365 days; you can adjust as per your needs.<br />
<pre class="crayon-plain-tag">openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt</pre>
</li>
<li>Now, the last step is to <strong>combine the certificate (*.crt) and private key (*.key)</strong> <strong>files<strong> into a single </strong>PEM file</strong> using the command below. It will generate the desired *.pem file format, which can be used by the MongoDB server (In Unix OS, you can use the <strong>cat command</strong> rather than <strong>typing</strong>)<br />
<pre class="crayon-plain-tag">type server.crt server.key &gt; cert.pem</pre>
</li>
</ol>
<p>Once done, your <strong>cert.pem</strong> file will look like the following (Open and view in Notepad)</p><pre class="crayon-plain-tag">-----BEGIN CERTIFICATE-----
MIIDjjCCAnYCCQCDKO4/pCBfqTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC
VVMxCzAJBgNVBAgMAkdBMRAwDgYDVQQHDAdBdGxhbnRhMREwDwYDVQQKDAhaYXBw
eVN5czELMAkGA1UECwwCSVQxFTATBgNVBAMMDHphcHB5c3lzLmNvbTEjMCEGCSqG
RF5DmNx6gKlRWlOFmokMCz7wAglErDL4h/I3w6iZaVVkBmeDj30cms/fQ+upAI8U
KrBpNEwOglU9fjqjpnW0u8qGpXIk3NfdCm+6Lr91GL/u/9+gmSYw5YCCF6kYaRA/
2mqLXZ3Xp6WfTfVyQskKMB9D1+7QljqBZmFnTjLCaJ9MdJzzMpFyWPRB4Ix1kAzV
yZk=
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyo++fr54Wh8anfEDZrr5O1NXwrPZW6KI3dPQ8FVHVDcBPETi
VX3qGcq8vywXH/LdwMEC4EQGED+zo50GmQdNiIzUfsnDbkq6rkqVNKjh7agkDlip
5vK3yuHtYAVp+laJ8X8kKISRttY7kcnl9gSkfTilwpN8//49G45Nx0JFu3o3Ortb
H4FPWjidQBAA6hPxoQi2h7YfEfpICL1RwYDCaQpdwMEJJqzcvaHCpdYVYd5PHLks
xRi8iwKBgA/S5w4/pwrzq0Jab/Afzf8AleZm/xLmXFpglgZF25AtVhpnayoHiTIk
9BdCXydi0ZOg4LtMqkSwt427UWCEnoRRH1WbKH2F9ZRWaELw/ix9RrZgTNmF821F
1/ILtO+QrN8tFnrLX3NAWurxUJxvzhBnvq40ZIHCyWvhRXUTkzTH
-----END RSA PRIVATE KEY-----</pre><p>
&nbsp;</p>
<h3>Edit the MongoDB Server config file (v3.0 or higher)</h3>
<p>Now that we have the *.pem file, we can use it to launch a MongoDB server instance. Before we do that, one more step is needed. We have to specify a few parameters in the MongoDB config file.</p>
<ol>
<li>Navigate to the MongoDB installation directory (where <strong>mongod.exe</strong> is found)</li>
<li>Create an empty text file called mongo-config.txt and enter the following text (assuming cer.pem, mongo-config.txt, and all mongod.exe are in the same folder). The password was tested when we created the PEM file. If you used a different one, then change it below.<br />
<strong>mongo-config.txt</strong><br />
<pre class="crayon-plain-tag">net:  
    bindIp: localhost
    ssl:
        mode: requireSSL
        PEMKeyFile: cert.pem
        PEMKeyPassword: test
        allowInvalidCertificates: true
        allowInvalidHostnames: true</pre>
</li>
</ol>
<h3>Start the MongoDB Server using the Config file</h3>
<p>Once you create a config file, we can start the MongoDB instance using the following command line to use the new config file with SSL mode enabled. That&#8217;s it, your server is now accepting Secure connections using SSL.</p><pre class="crayon-plain-tag">mongod -f &quot;mongod-config.txt&quot;</pre><p>
<h2>Using the SSL option in the SSIS MongoDB Connection</h2>
<p>Now, let&#8217;s look at the steps to secure the MongoDB connection in SSIS.</p>
<h3><span id="Prerequisites">Prerequisites</span></h3>
<p>Before we look at the Step-By-Step section on securing the MongoDB Connection in SSIS, let&#8217;s make sure you meet the following requirements.</p>
<ol>
<li>SSIS designer installed. Sometimes it is referred to as BIDS or SSDT (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from the Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li><a href="//zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener"><em>ZappySys SSIS PowerPack</em> installed</a>. Click on the link to download a FREE trial.</li>
<li>You have basic familiarity with MongoDB.</li>
</ol>
<h3>Using SSL in the SSIS MongoDB Connection Manager</h3>
<p>To enable SSL in SSIS, open the MongoDB connection manager and go to the SSL Tab. Check the Enable SSL option as shown below. Once you do this, and if your MongoDB server is configured correctly to use SSL, then your connection Test will be green, and any traffic between you and your MongoDB server will be encrypted using SSL.</p>
<div id="attachment_11646" style="width: 1035px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2017/08/SSIS-MongoDB-Connection-SSL-Settings.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-11646" class="wp-image-11646 size-full" src="https://zappysys.com/blog/wp-content/uploads/2017/08/SSIS-MongoDB-Connection-SSL-Settings.png" alt="" width="1025" height="540" srcset="https://zappysys.com/blog/wp-content/uploads/2017/08/SSIS-MongoDB-Connection-SSL-Settings.png 1025w, https://zappysys.com/blog/wp-content/uploads/2017/08/SSIS-MongoDB-Connection-SSL-Settings-300x158.png 300w, https://zappysys.com/blog/wp-content/uploads/2017/08/SSIS-MongoDB-Connection-SSL-Settings-768x405.png 768w, https://zappysys.com/blog/wp-content/uploads/2017/08/SSIS-MongoDB-Connection-SSL-Settings-720x380.png 720w" sizes="(max-width: 1025px) 100vw, 1025px" /></a><p id="caption-attachment-11646" class="wp-caption-text">SSIS MongoDB Connection &#8211; SSL Settings</p></div>
<h3>Using X509 Client Authentication in SSIS MongoDB Connection Manager</h3>
<p>Now, let&#8217;s look at how to authenticate using the X509 Client Certificate (X509) method. For this method, you must use the PFX certificate format (do not use PEM). To create a PFX file from the PEM we created earlier, you can run the following command. When prompted, use the same password you used before to generate a private key.</p><pre class="crayon-plain-tag">openssl pkcs12 -export -out cert.pfx -inkey server.key -in server.crt</pre><p>
<span style="box-sizing: border-box; margin: 0px; padding: 0px;">To learn more about the whole process of how to configure the MongoDB Server to use Client X509 Certificate, <a href="https://github.com/shauryashaurya/tutorial-x.509certificates-mongo" target="_blank" rel="noopener">check this Article</a>.</span></p>
<p>Let&#8217;s look at the steps to configure the SSIS MongoDB Connection Manager to use X509 Client Certificate Mode.</p>
<ol>
<li>Open ZappySys MongoDB Connection Manager UI</li>
<li>Enter the User ID you created in the <strong>$external</strong> database (This UserID usually matches the Subject of your Certificate). For example, in our case, UserID may appear as follows. Leave the password blank because it&#8217;s not used in the X. 509 method.<br />
<pre class="crayon-plain-tag">emailAddress=user@myemail.com,CN=127.0.0.1,OU=UNIT,O=DEMO,L=city,ST=test,C=AU</pre>
<div id="attachment_11644" style="width: 628px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Set-UserID-of-external-database.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11644" class="wp-image-11644 size-full" src="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Set-UserID-of-external-database.png" alt="" width="618" height="540" srcset="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Set-UserID-of-external-database.png 618w, https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Set-UserID-of-external-database-300x262.png 300w" sizes="(max-width: 618px) 100vw, 618px" /></a><p id="caption-attachment-11644" class="wp-caption-text">Configure SSIS MongoDB Connection for Client X509 Certificate (Set UserID of $external database)</p></div>
<div class="mceTemp"></div>
</li>
<li> Now go to the SSL Tab. Check SSL Option, You can check Ignore SSL Validation error (If it&#8217;s a signed certificate)</li>
<li>Select the PFX file path and enter the certificate password if needed. If you type Path, then Subject Line appears automatically (You can use it as UserID field if you were unsure in Step#1 however, we still recommend making sure UserID is an  exact match based on the original name your System Admin created in <strong>$external</strong> DB)
<div class="mceTemp"></div>
<div id="attachment_11643" style="width: 571px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Select-PFX-File-Specify-Password.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11643" class="wp-image-11643 size-full" src="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Select-PFX-File-Specify-Password.png" alt="" width="561" height="541" srcset="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Select-PFX-File-Specify-Password.png 561w, https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Select-PFX-File-Specify-Password-300x289.png 300w" sizes="(max-width: 561px) 100vw, 561px" /></a><p id="caption-attachment-11643" class="wp-caption-text">Configure SSIS MongoDB Connection for Client X509 Certificate (Select PFX File &#8211; Specify Password)</p></div>
<div class="mceTemp"></div>
</li>
<li>Now go to the Advanced Tab and enter the Below Option. By default, MongoDB Connection Manager uses the userid/password mode. To use <strong>X509</strong> Auth mode, you must set an option in the Advanced Options table as shown below.<br />
<pre class="crayon-plain-tag">authMechanism=MONGODB-X509</pre>
<div id="attachment_11645" style="width: 571px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Specify-authMechanismMONGODB-X509.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11645" class="wp-image-11645 size-full" src="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Specify-authMechanismMONGODB-X509.png" alt="" width="561" height="541" srcset="https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Specify-authMechanismMONGODB-X509.png 561w, https://zappysys.com/blog/wp-content/uploads/2017/08/Configure-SSIS-MongoDB-Connection-for-Client-X509-Certificate-Specify-authMechanismMONGODB-X509-300x289.png 300w" sizes="(max-width: 561px) 100vw, 561px" /></a><p id="caption-attachment-11645" class="wp-caption-text">Configure SSIS MongoDB Connection for Client X509 Certificate (Specify authMechanism=MONGODB-X509)</p></div>
<div class="mceTemp"></div>
</li>
<li>Click Test connection to make sure it&#8217;s successful.</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/configure-mongodb-ssl-connection-certificate/">How to configure MongoDB SSL Connection in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to parse MongoDB Date time in SSIS</title>
		<link>https://zappysys.com/blog/parse-mongodb-date-time-in-ssis-custom-format/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 18 Jan 2017 14:57:50 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB Source]]></category>
		<category><![CDATA[ISODate]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=946</guid>

					<description><![CDATA[<p>Introduction In our previous post we explained how to read/load MongoDB data in SSIS. This post covers specifically how to parse MongoDB date time stored inside your MongoDB documents. By default any well known date formats (e.g. ISO date) will be parsed as valid datetime (e.g. DT_DBTIMESTAMP) when you use SSIS MongoDB Source. But if you [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/parse-mongodb-date-time-in-ssis-custom-format/">How to parse MongoDB Date time in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><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" />In our previous post we explained <a href="https://zappysys.com/blog/ssis-loading-data-into-mongodb-upsert-update-delete-insert/" target="_blank" rel="noopener">how to read/load MongoDB data in SSIS</a>. This post covers specifically <strong>how to parse MongoDB date time</strong> stored inside your MongoDB documents. By default any well known date formats (e.g. ISO date) will be parsed as valid datetime (e.g. DT_DBTIMESTAMP) when you use <a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source</a>. But if you have date stored as other format (e.g. MM-dd-yyyy) then system will not parse as string unless you specify custom date format on JSON Datetime tab. If you want to learn How to query Date in MongoDB then <a href="https://zappysys.com/blog/how-to-query-mongodb-by-date-or-isodate/" target="_blank" rel="noopener">read this article</a></p>
<h2>Parse MongoDB Date time using SSIS MongoDB Source</h2>
<p>Perform the following steps to enable custom date format parsing for date not stored as ISODate in MongoDB. Below steps assume you have Downloaded and Installed <a href="//zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack from Here</a></p>
<p>NOTE: Below steps not necessary if your date is stored as <strong>ISODate</strong> in MongoDB&#8230;. e.g.  { &#8220;OrderDate&#8221; : ISODate(&#8220;2015-12-31T00:00:00Z&#8221;)  }</p>
<ol>
<li>Open MongoDB Source. Change Mode to Query Mode</li>
<li>Check Enable JSON option. You don&#8217;t have to type filter (its optional)</li>
<li>Goto JSON Options and then Datetime options Tab</li>
<li>Enter custom date format (The way your date stored in MongoDB)</li>
</ol>
<p>Now go to columns and click refresh columns. It will detect column as DT_DBTIMESTAMP (e.g. date/time)</p>
<p>&nbsp;</p>
<div id="attachment_950" style="width: 971px" class="wp-caption alignnone"><a href="//zappysys.com/blog/wp-content/uploads/2017/01/ssis-parse-mongodb-date-time-custom-format.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-950" class="size-full wp-image-950" src="//zappysys.com/blog/wp-content/uploads/2017/01/ssis-parse-mongodb-date-time-custom-format.png" alt="SSIS MongoDB Source- Date Time Options ( Parse MongoDB Date)" width="961" height="496" srcset="https://zappysys.com/blog/wp-content/uploads/2017/01/ssis-parse-mongodb-date-time-custom-format.png 961w, https://zappysys.com/blog/wp-content/uploads/2017/01/ssis-parse-mongodb-date-time-custom-format-300x155.png 300w" sizes="(max-width: 961px) 100vw, 961px" /></a><p id="caption-attachment-950" class="wp-caption-text">SSIS MongoDB Source- Date Time Options ( Parse MongoDB Date)</p></div>
<div id="attachment_949" style="width: 546px" class="wp-caption alignnone"><a href="//zappysys.com/blog/wp-content/uploads/2017/01/ssis-mongodb-query-date-time-fields.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-949" class="size-full wp-image-949" src="//zappysys.com/blog/wp-content/uploads/2017/01/ssis-mongodb-query-date-time-fields.png" alt="SSIS MongoDB Source - Query and Parse MongoDB Date with Custom format" width="536" height="291" srcset="https://zappysys.com/blog/wp-content/uploads/2017/01/ssis-mongodb-query-date-time-fields.png 536w, https://zappysys.com/blog/wp-content/uploads/2017/01/ssis-mongodb-query-date-time-fields-300x163.png 300w" sizes="(max-width: 536px) 100vw, 536px" /></a><p id="caption-attachment-949" class="wp-caption-text">SSIS MongoDB Source &#8211; Query and Parse MongoDB Date with Custom format</p></div>
<p>The post <a href="https://zappysys.com/blog/parse-mongodb-date-time-in-ssis-custom-format/">How to parse MongoDB Date time in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to extract multiple arrays from MongoDB using SSIS</title>
		<link>https://zappysys.com/blog/how-to-extract-multiple-arrays-from-mongodb-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Thu, 12 Jan 2017 18:30:53 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB Source]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[ssis json parser transform]]></category>
		<category><![CDATA[ssis multicast]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=940</guid>

					<description><![CDATA[<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) &#160; Steps &#8211; Extract multiple [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/how-to-extract-multiple-arrays-from-mongodb-using-ssis/">How to extract multiple arrays from MongoDB using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<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>
<p>&nbsp;</p>
<h2>Steps &#8211; Extract multiple arrays from MongoDB</h2>
<ol>
<li>Extract data using MongoDB source (Select output mode as Raw Document)</li>
<li>Connect MongoDB Source to Multicast Transform</li>
<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>
<li>Connect Json Parser Transform output to desired target e.g. sql server/flat file.</li>
<li>Repeat step #3,4,5 for  as many outputs you need with different filter settings (e.g. $.doc.<strong>Array2</strong>[*]).</li>
</ol>
<p>Here is more info about JSON Parser Transform (This is new Transform added in v2.2)</p>
<p><a href="//zappysys.com/products/ssis-powerpack/ssis-json-parser-transform/">//zappysys.com/products/ssis-powerpack/ssis-json-parser-transform/</a></p>
<h2>Video Tutorial &#8211; Step By Step &#8211; How to read multiple MongoDB arrays</h2>
<p>Below video tutorial demonstrates following things</p>
<p>* How to execute MongoDB Shell commands in SSIS (e.g. create Collection)<br />
* How to read data from multiple arrays from MongoDB document (i.e. Orders, Products)<br />
* Save result into two SQL Server tables</p>
<a href="https://zappysys.com/blog/how-to-extract-multiple-arrays-from-mongodb-using-ssis/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FKtXRxlhBF5M%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/how-to-extract-multiple-arrays-from-mongodb-using-ssis/">How to extract multiple arrays from MongoDB using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to write MongoDB Aggregation Queries in SSIS (Group By)</title>
		<link>https://zappysys.com/blog/aggregate-mongodb-data-using-group-by-query-in-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 17 Aug 2016 15:52:17 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB Source]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=736</guid>

					<description><![CDATA[<p>Introduction In this post you will learn how to write flexible MongoDB Aggregation Queries in SSIS (i.e. Group By Query) using SSIS MongoDB Source Component. MongoDB provides powerful Aggregation Pipeline Engine which is conceptually same as writing Group By queries in traditional SQL world but its not exactly same. SSIS MongoDB Source returns nested MongoDB JSON [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/aggregate-mongodb-data-using-group-by-query-in-ssis/">How to write MongoDB Aggregation Queries in SSIS (Group By)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><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" />In this post you will learn how to write flexible <strong>MongoDB Aggregation Queries in SSIS</strong> (i.e. Group By Query) using <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source Component</a>. MongoDB provides powerful Aggregation Pipeline Engine which is conceptually same as writing Group By queries in traditional SQL world but its not exactly same. <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source</a> returns nested MongoDB JSON documents into flat looking table with rows and column (denormalized data).</p>
<p>If you want to learn <a href="https://zappysys.com/blog/ssis-loading-data-into-mongodb-upsert-update-delete-insert/" target="_blank" rel="noopener">how to write data to MongoDB (Insert, Update, Delete, Upsert) then click here</a>. If you want learn <a href="https://zappysys.com/blog/read-mongodb-data-from-array-extract-nested-sub-documents/" target="_blank" rel="noopener">how to read data from MongoDB then click here</a>.</p>
<p>So let&#8217;s explore concepts of <a href="https://docs.mongodb.com/manual/core/aggregation-pipeline/" target="_blank" rel="noopener">MongoDB Aggregation Pipeline</a> and see some MongoDB query examples for SSIS use case.</p>
<div class="content_block" id="custom_post_widget-2523"><h2><span id="Prerequisites">Prerequisites</span></h2>
Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:
<ol style="margin-left: 1.5em;">
 	<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred to as <abbr title="Business Intelligence Development Studio">BIDS</abbr> or <abbr title="SQL Server Data Tools">SSDT</abbr> (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from the Microsoft site</a>).</li>
 	<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
 	<li>Make sure <span style="text-decoration: underline;"><a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a></span> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>, if you haven't already).</li>
 	<li>(<em>Optional step</em>)<em>.</em> <a href="https://zappysys.zendesk.com/hc/en-us/articles/360035974593" target="_blank" rel="noopener">Read this article</a>, if you are planning to deploy packages to a server and schedule their execution later.</li>
</ol></div>
<h2>SSIS MongoDB Source Introduction</h2>
<p><a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source</a> supports three modes to read data from MongoDB collection. Each mode also supports <a href="https://zappysys.com/blog/read-mongodb-data-from-array-extract-nested-sub-documents/" target="_blank" rel="noopener">JSONPath Expression to extract nested array</a>.</p>
<ol>
<li>Table Mode</li>
<li>SQL Query Mode</li>
<li>JSON Query Mode (Native)</li>
</ol>
<p>To read more about supported SQL Syntax read <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/mongodb-source.htm" target="_blank" rel="noopener">help file here</a>.</p>
<h2>Using SSIS MongoDB Source to Query Data (Aggregation)</h2>
<p>Now lets look at how to use <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source</a> to query MongoDB data using Aggregation Engine.</p>
<h3>MongoDB Aggregation Pipeline Syntax in SSIS</h3>
<p><a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source</a> support all pipeline commands to write aggregation queries but its slighly different syntax than shell command so your SHell Query won&#8217;t work directly but you can copy some part of your Shell query. Check below Syntax.</p>
<p><strong>MongoDB Native Query Syntax (Shell Command) for Aggregation:</strong></p><pre class="crayon-plain-tag">db.YourCollectionName.aggregate(
[
[ &lt;pipeline-stage1&gt;]
[,&lt;pipeline-stage2&gt;]
...
...
[,&lt;pipeline-stageN&gt;]
]
)</pre><p>
<strong>SSIS MongoDB Source Query Syntax for Aggregation:</strong><code><br />
</code></p><pre class="crayon-plain-tag">{Table:YourTableName ,Method:aggregate [,MaxRows: N] [,AllowDiskUse:true] [,AllowCursor:true] [,Timeout:#####] }
{
pipeline: [
[ &lt;pipeline-stage1&gt;]
[,&lt;pipeline-stage2&gt;]
...
...
[,&lt;pipeline-stageN&gt;]
]
}</pre><p>
&nbsp;</p>
<h2>Example Aggregation Queries (SQL to SSIS Mapping)</h2>
<p>Assume that we want to write following SQL Query using <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">SSIS MongoDB Source</a> or using MongoDB Shell</p><pre class="crayon-plain-tag">SELECT State as StateAbbr,SUM(population) as TotalPopulation 
FROM ZipCodes 
WHERE status='Active' 
HAVING SUM(population) &amp;gt; 25
Order By TotalPopulation DESC</pre><p>
Above SQL Query can be translated to below JSON Query which can be used in SSIS MongoDB Source. As we noted before Below syntax is not same as Shell command so it will only run in SSIS MongoDB Source.</p><pre class="crayon-plain-tag">{Table: ZipCodes,Method: aggregate}
{
  pipeline: 
  [
    {$match : { status: &quot;A&quot; } } ,
    {$group : {_id :  &quot;$state&quot;, TotalPopulation: { $sum: &quot;$pop&quot; }}},
    {$match: { TotalPopulation: { $gt: 25 } } },
    {$project : { StateAbbr: &quot;$_id&quot; , _id: 0, TotalPopulation:1 } },
    {$sort : {TotalPopulation : -1}}
  ]
}</pre><p>
So as you saw in above query various clause of SELECT queries are defined as pipeline stages. You can add any possible stages in different order. Based on their order it will be applied so order of stage is very important.  For more information about various <a href="https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/" target="_blank" rel="noopener">pipeline stages click here</a>. Below is high level translation of SQL Query to MongoDB Aggregation Query.</p>
<div style="width: 616px" class="wp-caption alignnone"><a class="figureimage" href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/mongodb-source/ssis-mongodb-group-by-query-aggregation-framework.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/mongodb-source/ssis-mongodb-group-by-query-aggregation-framework.png" alt="SSIS MongoDB Source - Example of MongoDB Group By Query (Aggregation Framework - Pipeline)" width="606" height="555" /></a><p class="wp-caption-text">SSIS MongoDB Source &#8211; Example of MongoDB Group By Query (Aggregation Framework &#8211; Pipeline)</p></div>
<p><strong>SQL to MongoDB Aggregation Mapping</strong></p>
<div class="su-table su-table-alternate">
<table>
<thead>
<tr>
<th>SQL Clause</th>
<th>Mongo Pipeline Stage</th>
</tr>
</thead>
<tbody>
<tr>
<td>SELECT</td>
<td><a href="https://docs.mongodb.com/manual/reference/operator/aggregation/project/" target="_blank" rel="noopener">$project</a></td>
</tr>
<tr>
<td>WHERE</td>
<td><a href="https://docs.mongodb.com/manual/reference/operator/aggregation/match/" target="_blank" rel="noopener">$match</a></td>
</tr>
<tr>
<td>GROUP BY</td>
<td><a href="https://docs.mongodb.com/manual/reference/operator/aggregation/group/" target="_blank" rel="noopener">$group</a></td>
</tr>
<tr>
<td>HAVING</td>
<td><a href="https://docs.mongodb.com/manual/reference/operator/aggregation/match/" target="_blank" rel="noopener">$match</a></td>
</tr>
<tr>
<td>ORDER BY</td>
<td><a href="https://docs.mongodb.com/manual/reference/operator/aggregation/sort/" target="_blank" rel="noopener">$sort</a></td>
</tr>
</tbody>
</table>
</div>
<p>Now let&#8217;s look at few examples how to translate traditional SQL  Queries to JSON Query for SSIS MongoDB Source. We will use sample data we inserted in previous section.</p>
<h3>Creating Sample Data for MongoDB Query Examples</h3>
<p>For this exercise to write sample queries using below data. So let&#8217;s first create a collection called Order and insert following records using your favourite MongoDB client tool.</p><pre class="crayon-plain-tag">db.Orders.insert(
  {
    "OrderId" : 1000,
    "CustomerId" : "CUS001",
    "OrderTotal" : 2000.50,
    "Quantity" : 20,
    "OrderDate" : ISODate("2010-01-01"),
    "Country" : "USA",
    "Items" : [ {ItemId:10, UnitPrice: 100.00,Quantity: 10}, {ItemId:11, UnitPrice: 200.10,Quantity: 5}],
    "PaymentInfo" : { 
      "Method" : "Card",
      "Currency" : "USD" 
    }
  }
)

db.Orders.insert(
  {
    "OrderId" : 1001,
    "CustomerId" : "CUS001",
    "OrderTotal" : 1000.00,
    "Quantity" : 10,
    "OrderDate" : ISODate("2011-01-02"),
    "Country" : "USA",
    "Items" : [ {ItemId:10, UnitPrice: 100.00,Quantity: 10}],
    "PaymentInfo" : { 
      "Method" : "Card",
      "Currency" : "USD" 
    }
  }
)

db.Orders.insert(
  {
    "OrderId" : 1002,
    "CustomerId" : "CUS002",
    "OrderTotal" : 1000.00,
    "Quantity" : 5,
    "OrderDate" : ISODate("2012-01-01"),
    "Country" : "USA",
    "Items" : [ {ItemId:13, UnitPrice: 200.00,Quantity: 5}],
    "PaymentInfo" : { 
      "Method" : "Bank",
      "Currency" : "USD" 
    }
  }
)

db.Orders.insert(
  {
    "OrderId" : 1003,
    "CustomerId" : "CUS003",
    "OrderTotal" : 59000.00,
    "Quantity" : 10,
    "OrderDate" : ISODate("2005-01-02"),
    "Country" : "India",
    "Items" : [ {ItemId:14, UnitPrice: 5900.00,Quantity: 10}],
    "PaymentInfo" : { 
      "Method" : "Check",
      "Currency" : "INR" 
    }
  }
)</pre><p>
Here is how it would look like (We used <a href="https://robomongo.org/download" target="_blank" rel="noopener"><strong>RoboMongo</strong></a> i.e. <strong>Robo 3T</strong>) but you can use mongo.exe command line to issue above commands.</p>
<div id="attachment_2661" style="width: 1110px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-mongodb-aggregation-queries-group-by-sql-pipeline-stages.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2661" class="size-full wp-image-2661" src="https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-mongodb-aggregation-queries-group-by-sql-pipeline-stages.png" alt="Inserting Example data for MongoDB Aggregation Queries (RoboMongo / Robo 3T)" width="1100" height="677" srcset="https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-mongodb-aggregation-queries-group-by-sql-pipeline-stages.png 1100w, https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-mongodb-aggregation-queries-group-by-sql-pipeline-stages-300x185.png 300w, https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-mongodb-aggregation-queries-group-by-sql-pipeline-stages-768x473.png 768w, https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-mongodb-aggregation-queries-group-by-sql-pipeline-stages-1024x630.png 1024w" sizes="(max-width: 1100px) 100vw, 1100px" /></a><p id="caption-attachment-2661" class="wp-caption-text">Inserting Example data for MongoDB Aggregation Queries (RoboMongo / Robo 3T)</p></div>
<h3>Example 1 &#8211; MongoDB Aggregation Query with COUNT(*) &#8211; $group, $project</h3>
<p>Here is how to write COUNT(*) query in MongoDB. Below query will find order count by country. Each query must output _id field and you can refer Document column using $ prefix (i.e. &#8220;<strong>$Country</strong>&#8221; or for nested object use dot separator &#8220;<strong>$PaymentInfo.Method</strong>&#8221; ) . To output _id column with different name we have used Country: &#8220;$_id&#8221;. Because we including copy of _id we can remove _id column by doing  <strong>_id: 0.</strong>  To include column in output use <strong>YourColumanName: 1</strong> in $project stage.</p>
<p><strong>SQL Query:</strong></p><pre class="crayon-plain-tag">SELECT Country,Count(*) as OrderCount 
FROM Orders
GROUP BY Country</pre><p>
<strong>Mongo Shell Query:</strong></p><pre class="crayon-plain-tag">db.Orders.aggregate(
 [
   {$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
  ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }}
 ]
)</pre><p>
<strong>SSIS MongoDB Source Query:</strong></p><pre class="crayon-plain-tag">{Table: Orders,Method: aggregate} 
{ pipeline: 
   [
    {$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
   ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }}
  ]
}</pre><p>
<h3>Example 2 &#8211; MongoDB Aggregation Query with WHERE and ORDER BY- $match, $group, $project, $sort</h3>
<p>Here is how to write COUNT(*) query in MongoDB. Below query will find order count by country.</p>
<p><strong>SQL Query:</strong></p><pre class="crayon-plain-tag">SELECT Country,Count(*) as OrderCount 
WHERE Quantity &gt; 1
FROM Orders
GROUP BY Country
ORDER BY Country</pre><p>
<strong>Mongo Shell Query:</strong></p><pre class="crayon-plain-tag">db.Orders.aggregate(
 [
   {$match : {Quantity : { $gt: 1 }}} 
  ,{$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
  ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }}
  ,{$sort : {Country: 1}}
 ]
)</pre><p>
<strong>SSIS MongoDB Source Query:</strong></p><pre class="crayon-plain-tag">{Table: Orders,Method: aggregate} 
{ pipeline: 
   [
     {$match : {Quantity : { $gt: 1 }}} 
    ,{$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
    ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }} ,{$sort : {Country: 1}}  
   ]
}</pre><p>
<h3>Example 3 &#8211; MongoDB Aggregation Query with WHERE and HAVING Clause &#8211; $match, $group</h3>
<p>Here is an example of WHERE and HAVING clause. They both use $match stage but their orders are different. WHERE condition is applied before GROUP BY (i.e. $group) and HAVING condition is applied after GROUP BY.</p>
<p><strong>SQL Query:</strong></p><pre class="crayon-plain-tag">SELECT Country,Count(*) as OrderCount
FROM Orders 
WHERE Quantity &gt; 1
GROUP BY Country
HAVING Count(*) &gt; 0</pre><p>
<strong>Mongo Shell Query:</strong></p><pre class="crayon-plain-tag">db.Orders.aggregate(
 [ 
   {$match : {Quantity: { $gt: 1 }}}
  ,{$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
  ,{$match : {OrderCount: { $gte: 1 }}} 
  ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }}
 ]
)</pre><p>
<strong>SSIS MongoDB Source Query:</strong></p><pre class="crayon-plain-tag">{Table: Orders,Method: aggregate} 
{ pipeline: 
   [
      {
        $group : {_id : "$Country",OrderCount: { $sum: 1 }}
      }      
   ]
}</pre><p>
<h3>Example 4 &#8211; MongoDB Aggregation Query with $unwind (Flatten nested Array)</h3>
<p>Now lets look at an example of <a href="https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/" target="_blank" rel="noopener">$unwind operator</a>. $unwind can be used to perform operations on nested array. Common things would be flatten the hierarchy and then apply group by operation. Lets find out Average Quantity of Items By Order Number</p>
<p><strong>SQL Query:</strong></p><pre class="crayon-plain-tag">SELECT Orders.OrderId as OrderNumber,Avg(Items.Quantity) as AvgItemQty
FROM Orders 
JOIN Items ON Orders.OrderId = Items.OrderId
GROUP BY Orders.OrderId</pre><p>
<strong>Mongo Shell Query:</strong></p><pre class="crayon-plain-tag">db.Orders.aggregate(
 [ 
   {$unwind : "$Items"}
  ,{$group : {_id : "$OrderId",AvgItemQty: { $avg: "$Items.Quantity" }}} 
  ,{$project : {OrderNumber: "$_id", _id: 0, AvgItemQty: 1 }}
 ]
)</pre><p>
<strong>SSIS MongoDB Source Query:</strong></p><pre class="crayon-plain-tag">{Table: Orders,Method: aggregate} 
{ pipeline: 
  [ 
    {$unwind : "$Items"}
   ,{$group : {_id : "$OrderId",AvgItemQty: { $avg: "$Items.Quantity" }}} 
   ,{$project : {OrderNumber: "$_id", _id: 0, AvgItemQty: 1 }}
  ]
)</pre><p>
<h2></h2>
<h2>MongoDB Query with Dynamic Value / ISO DateTime</h2>
<p>There will be a time when you have to supply Dynamic Value from Variable or supply Dynamic Date time inside your query. Dates are little different than other data types. <a href="https://zappysys.com/blog/how-to-query-mongodb-by-date-or-isodate/" target="_blank" rel="noopener">Check this article</a> to learn more about passing dates in MongoDB Query.</p>
<p>For Dynamic Date use SSIS Variables <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-format-specifiers.htm" target="_blank" rel="noopener">Format Specifiers</a></p>
<h3><strong>Example of DateTime query (Static Value)</strong></h3>
<pre class="crayon-plain-tag">{Table: Orders,Method: aggregate} 
{ pipeline: 
   [
     {$match : {OrderDate : { $gt: new ISODate("2010-01-01") }}} 
    ,{$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
    ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }} ,{$sort : {Country: 1}}  
   ]
}</pre>
<h3><strong>Example of using Dynamic Value from Variable</strong></h3>
<p>To pass date from SSIS Variable you can use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-format-specifiers.htm" target="_blank" rel="noopener">Format Specifiers</a>. (e.g. <strong>yyyy-MM-dd</strong>  or for full ISO date <strong>yyyy-MM-ddTHH:mm:ssZ</strong> )</p><pre class="crayon-plain-tag">{Table: Orders,Method: aggregate} 
{ pipeline: 
   [
     {$match : {OrderDate : { $gt: new ISODate("{{User::varOrderDate,yyyy-MM-dd}}") }}} 
    ,{$group : {_id : "$Country",OrderCount: { $sum: 1 }}} 
    ,{$project : {Country: "$_id", _id: 0, OrderCount: 1 }} ,{$sort : {Country: 1}}  
   ]
}</pre><p>
<h3></h3>
<h2>Conclusion</h2>
<p>MongoDB is one of the most popular NoSQL / Document Storage Engine. <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> make super easy and efficient to read/write data in MongoDB without any coding effort. <a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">Download SSIS PowerPack</a> to try out MongoDB features along with 70+ other components .</p>
<p><strong>Search terms:</strong><br />
mongodb group by count<br />
mongodb group by multiple fields<br />
mongodb group by date<br />
mongodb group example<br />
mongodb group sort<br />
mongodb group by month<br />
mongodb group by having<br />
mongodb group distinct<br />
mongodb group by sum<br />
mongodb aggregate<br />
mongodb aggregate sort<br />
mongodb aggregate unwind</p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/aggregate-mongodb-data-using-group-by-query-in-ssis/">How to write MongoDB Aggregation Queries in SSIS (Group By)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Read MongoDB data from array (extract nested sub documents)</title>
		<link>https://zappysys.com/blog/read-mongodb-data-from-array-extract-nested-sub-documents/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 25 Jan 2016 17:23:29 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB Source]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[JSON Path]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=333</guid>

					<description><![CDATA[<p>Introduction In this post you will learn how to read MongoDB data from Array. We recently introduced new JSON Path expression feature in SSIS MongoDB Source Connector to extract nested information from MongoDB documents. &#160; Read documents from Array in MongoDB By default SSIS MongoDB Source Connector doesn&#8217;t support extracting data using JSON Path expression. So if [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-mongodb-data-from-array-extract-nested-sub-documents/">Read MongoDB data from array (extract nested sub documents)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><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" />In this post you will learn how to read MongoDB data from Array. We recently introduced new <strong>JSON Path expression</strong> feature in <a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/">SSIS MongoDB Source Connector</a> to extract nested information from MongoDB documents.</p>
<p>&nbsp;</p>
<h2>Read documents from Array in MongoDB</h2>
<p>By default <a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/">SSIS MongoDB Source Connector</a> doesn&#8217;t support extracting data using <strong>JSON Path expression</strong>. So if you want to read nested data from sub-document or array then you have enable that option.</p>
<p>Consider following sample Document stored in MongoDB. Lets say you want to extract all orders for each customer.</p>
<p>For that you have enter <strong>$.Orders[*]</strong> in the JSON Path expression as below screenshots. Notice it also brings parent columns of each Orders (By default parent columns prefixed with P_ ).</p>
<p>To exclude parent columns from your resultset got to Advanced JSON Filter Options tab -&gt; Uncheck &#8220;<strong>Include Parent Columns</strong>&#8221; option.</p>
<h3>Sample MongoDB Document</h3>
<pre class="crayon-plain-tag">{
    "_id" : ObjectId("56a2ae6369e0f137a449f58b"),
    "CustomerID" : "ALFKI",
    "CompanyName" : "Alfreds Futterkiste",
    "ContactName" : "Maria Anders",
    "ContactTitle" : "Sales Representative",
    "LocationInfo" : {
        "City" : "Berlin",
        "Address" : "Obere Str. 57",
        "Region" : null,
        "PostalCode" : "12209",
        "Country" : "Germany"
    },
    "Phone" : "030-0074321",
    "Fax" : "030-0076545",
    "OrdersIDList" : [ 
        10643, 
        10692, 
        10702
    ],
    "Orders" : [ 
        {
            "OrderID" : 10643,
            "EmployeeID" : null,
            "OrderDate" : "1997-08-25 00:00:00"
        }, 
        {
            "OrderID" : 10692,
            "EmployeeID" : 4,
            "OrderDate" : "1997-10-03 00:00:00"
        }, 
        {
            "OrderID" : 10702,
            "EmployeeID" : 4,
            "OrderDate" : "1997-10-13 00:00:00"
        }
    ]
}</pre>
&nbsp;</p>
<div id="attachment_334" style="width: 720px" class="wp-caption alignnone"><a href="//zappysys.com/blog/wp-content/uploads/2016/01/mongodb-read-data-from-array-extract-nested-documents.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-334" class="size-full wp-image-334" src="//zappysys.com/blog/wp-content/uploads/2016/01/mongodb-read-data-from-array-extract-nested-documents.png" alt="Read MongoDB Data from array (extract nested sub documents)" width="710" height="521" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/mongodb-read-data-from-array-extract-nested-documents.png 710w, https://zappysys.com/blog/wp-content/uploads/2016/01/mongodb-read-data-from-array-extract-nested-documents-300x220.png 300w" sizes="(max-width: 710px) 100vw, 710px" /></a><p id="caption-attachment-334" class="wp-caption-text">Read MongoDB Data from array (extract nested sub documents)</p></div>
<h2>Server side Filtering using MongoDB Query</h2>
<p>JSON Path filtering happens on client side so first your selected set of documents fetched from MongoDB server and then transformation of happens on client side based on JSON Path you specified (de-normalization).</p>
<p>Below screenshots shows how to use MongoDB SQL Query Language (<a href="//zappysys.com/onlinehelp/ssis-powerpack/scr/mongodb-source.htm#A_QueryLanguage" target="_blank" rel="noopener">Read more here</a>) to filter data on server side and then apply <strong>JSON Path expression</strong> to extract sub-documents or array items from MongoDB documents.</p>
<div style="width: 667px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="//zappysys.com/onlinehelp/ssis-powerpack/scr/images/mongodb-source/ssis-mongodb-source-settings.png" alt="MongoDB Server Side Filter - Extract MongoDB Data from Array or nested sub-documents using SQL Query and JSON Path" width="657" height="511" /><p class="wp-caption-text">MongoDB Server Side Filter &#8211; Extract MongoDB Data from Array or nested sub-documents using SQL Query and JSON Path</p></div>
<p>The post <a href="https://zappysys.com/blog/read-mongodb-data-from-array-extract-nested-sub-documents/">Read MongoDB data from array (extract nested sub documents)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to query MongoDB by date or ISODate</title>
		<link>https://zappysys.com/blog/how-to-query-mongodb-by-date-or-isodate/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 18 Nov 2015 00:35:19 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB Source]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=181</guid>

					<description><![CDATA[<p>Introduction ZappySys provides high-performance drag-and-drop connectors for MongoDB Integration. In our previous post, we discussed how to query/load MongoDB data (Insert, Update, Delete, Upsert). In this post, you will see how to query MongoDB by date (or ISODate) using the SSIS MongoDB Source. To see full details about possible query syntax, see online help. MongoDB doesn&#8217;t have SQL Like query language [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/how-to-query-mongodb-by-date-or-isodate/">How to query MongoDB by date or ISODate</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><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" />ZappySys provides high-performance drag-and-drop connectors for MongoDB Integration. In our previous post, we discussed how to <a href="https://zappysys.com/blog/ssis-loading-data-into-mongodb-upsert-update-delete-insert/" target="_blank" rel="noopener">query/load MongoDB data (Insert, Update, Delete, Upsert)</a>. <span style="box-sizing: border-box; margin: 0px; padding: 0px;">In this post, you will see how to <em>query MongoDB by date</em> (or ISODate) using the <a target="_blank" rel="noopener">SSIS MongoDB Source</a>.</span> To see full details about possible query syntax, <a target="_blank" rel="noopener">see online help</a>.</p>
<p>MongoDB doesn&#8217;t have SQL Like query language so sometime you may feel odd&#8230;But has native JSON-like Query language (Sorry, SQL Guys.. )</p>
<p>No worry if you stumble upon how to query various things in MongoDB. It&#8217;s different but not too hard to learn.</p>
<h2>MongoDB Query Example</h2>
<p>Assume that you have the following Document stored in a MongoDB Collection. You want to query orders where the Order date is greater than a specific date. Here are some examples of MongoDB queries used by <a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/">ZappySys SSIS MongoDB Source Connector</a>. <span style="box-sizing: border-box; margin: 0px; padding: 0px;">For more information about MongoDB Query, check the <a href="https://docs.mongodb.org/manual/tutorial/query-documents/" target="_blank" rel="noopener">MongoDB Query Syntax documentation</a>.</span> An important thing is that your attribute must be stored as ISODate (not string). See the JSON document below; notice how OrderDate is saved as ISODate(&#8230;). This will allow Query to use any standard comparison operator (e.g. =, &gt;, &lt;,  != ) for date search.  If your data is not stored as ISODate, refer to online blogs/help on how to write update scripts to convert string dates to ISODate.</p><pre class="crayon-plain-tag">{
	"OrderID" : 100,
	"OrderDate" : ISODate("2015-02-28T00:00:00Z"),
	"Country" : "USA",
	"Total" : 5000
}</pre><p>
&nbsp;</p>
<h2>How to Query MongoDB ISODate Attribute</h2>
<p>If you want to query the ISODate attribute, you may scratch your head about how to do it. There are two ways to do</p>
<p><strong>Using SQL Query syntax (Only available in <a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/">ZappySys SSIS MongoDB Source</a>)</strong></p><pre class="crayon-plain-tag">select * from Orders where OrderDate &gt; 'DATE(2015-01-01)'</pre><p>
<strong>Using SSIS Variable in Query</strong><br />
You can also use an SSIS Variable to make your query dynamic. <a href="//zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-format-specifiers.htm" target="_blank" rel="noopener">Variable placeholder</a> supports datetime format specifiers too. E.g., for an ISO date with 3-digit millisecond precision, you may use yyyy-MM-ddTHH:mm:ss.fffZ format as below.</p><pre class="crayon-plain-tag">select * from Orders where OrderDate &lt; 'DATE({{User::MyDateVar,yyyy-MM-ddTHH:mm:ss.fffZ}})'</pre><p>
<strong>Using ISODate syntax (SSIS MongoDB Source &#8211; Native Query)</strong></p><pre class="crayon-plain-tag">{Table: Orders }
{
	"OrderDate" : { "$lt" : new ISODate("2015-01-02T00:16:15.184Z")}
}</pre><p>
<strong>Using $date syntax (SSIS MongoDB Source &#8211; Native Query)</strong></p><pre class="crayon-plain-tag">{Table: Orders }
{
	"OrderDate" : { "$gt" : { "$date" : "2015-01-01"}}
}</pre><p>
<h2>Remember to suffix &#8220;Z&#8221; in your date format to indicate its UTC date</h2>
<p>MongoDB stores datetime values in UTC (to confirm this, edit a Mongo document and you will see a Z at the end in the ISODate(&#8230;.) value). <span style="box-sizing: border-box; margin: 0px; padding: 0px;">When you use ZappySys MongoDB SQL Query Syntax like below, it may or may not perform <strong>Automatic Date Conversion</strong> from <strong>Local to UTC</strong>.</span> If you append &#8220;Z&#8221; to a date/time value, it&#8217;s treated as UTC, and no DateTime conversion occurs. Dates without a Z at the end are treated as Local Date/Time, so they&#8217;re converted to UTC before being passed to MongoDB.</p>
<p>If you use JSON Style Native Query Syntax, ZappySys does not perform any date conversion.</p>
<p><strong>Query-1</strong>: Date supplied as UTC (Suffixed with <strong>&#8220;Z&#8221;</strong>) &#8211; Date is passed as is to the Mongo engine</p><pre class="crayon-plain-tag">select * from Orders where OrderDate &gt; 'DATE({{User::MyDateVar,yyyy-MM-ddTHH:mm:ss.fffZ}})'
select * from Orders where OrderDate &gt; 'DATE({{User::MyDateVar,yyyy-MM-ddZ}})'</pre><p>
<strong>Query-2</strong>: Date supplied as Local Time (No <strong>&#8220;Z&#8221;</strong> at the end) &#8211; Date is converted to UTC and then passed to the Mongo Engine</p><pre class="crayon-plain-tag">select * from Orders where OrderDate &gt; 'DATE({{User::MyDateVar,yyyy-MM-ddTHH:mm:ss.fff}})'
select * from Orders where OrderDate &gt; 'DATE({{User::MyDateVar,yyyy-MM-dd}})'</pre><p>
&nbsp;</p>
<h2>MongoDB Query using SSIS MongoDB Source</h2>
<p><a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/">ZappySys SSIS MongoDB Source</a> supports querying nested Documents using JSON Path expressions (e.g., Extract order Items from Order Document using $.Items expression)</p>
<p>Example MongoDB Document</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">{
    "_id" : ObjectId("564bb3bea1e57e043363f1ea"),
    "OrderID" : 111,
    "OrderDate" : ISODate("2022-01-01T00:00:00.000Z"),
    "AuditInfo" : {
        "User" : "bob",
        "CDate" : ISODate("2015-01-01T00:00:00.000Z")
    },
    "Items" : [ 
        {
            "ProductID" : 100,
            "Qty" : 3
        }, 
        {
            "ProductID" : 101,
            "Qty" : 2
        }
    ]
}</pre><p>
<strong>MongoDB Source &#8211; SQL style MongoDB Query (filter by date)</strong></p>
<p>Use the DATE function to convert a string value to an ISODate</p>
<div id="attachment_11575" style="width: 780px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2015/11/SSIS-MongoDB-Source-MongoDB-SQL-Query-Filter-by-date-Query-ISODate.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11575" class="size-full wp-image-11575" src="https://zappysys.com/blog/wp-content/uploads/2015/11/SSIS-MongoDB-Source-MongoDB-SQL-Query-Filter-by-date-Query-ISODate.png" alt="" width="770" height="725" srcset="https://zappysys.com/blog/wp-content/uploads/2015/11/SSIS-MongoDB-Source-MongoDB-SQL-Query-Filter-by-date-Query-ISODate.png 770w, https://zappysys.com/blog/wp-content/uploads/2015/11/SSIS-MongoDB-Source-MongoDB-SQL-Query-Filter-by-date-Query-ISODate-300x282.png 300w, https://zappysys.com/blog/wp-content/uploads/2015/11/SSIS-MongoDB-Source-MongoDB-SQL-Query-Filter-by-date-Query-ISODate-768x723.png 768w" sizes="(max-width: 770px) 100vw, 770px" /></a><p id="caption-attachment-11575" class="wp-caption-text">SSIS MongoDB Source &#8211; MongoDB SQL Query &#8211; Filter by date (Query ISODate)</p></div>
<p><strong>MongoDB Source &#8211; Native MongoDB Query  (filter by date)</strong></p>
<div id="attachment_11574" style="width: 832px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2015/11/Query-MongoDB-by-Date-Attribute-Query-ISODate-using-SSIS-MongoDB-Source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11574" class="size-full wp-image-11574" src="https://zappysys.com/blog/wp-content/uploads/2015/11/Query-MongoDB-by-Date-Attribute-Query-ISODate-using-SSIS-MongoDB-Source.png" alt="" width="822" height="705" srcset="https://zappysys.com/blog/wp-content/uploads/2015/11/Query-MongoDB-by-Date-Attribute-Query-ISODate-using-SSIS-MongoDB-Source.png 822w, https://zappysys.com/blog/wp-content/uploads/2015/11/Query-MongoDB-by-Date-Attribute-Query-ISODate-using-SSIS-MongoDB-Source-300x257.png 300w, https://zappysys.com/blog/wp-content/uploads/2015/11/Query-MongoDB-by-Date-Attribute-Query-ISODate-using-SSIS-MongoDB-Source-768x659.png 768w" sizes="(max-width: 822px) 100vw, 822px" /></a><p id="caption-attachment-11574" class="wp-caption-text">Query MongoDB by Date Attribute (Query ISODate) using SSIS MongoDB Source</p></div>
<h2>Dynamic MongoDB Query using Placeholders</h2>
<p><a href="//zappysys.com/products/ssis-powerpack/ssis-mongodb-source/">MongoDB Source</a> in SSIS PowerPack supports placeholders to make queries dynamic. You can use Query Placeholders like below (See Insert Placeholder menu)</p>
<div id="attachment_11572" style="width: 838px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2015/11/Dynamic-MongoDB-Query-Use-SSIS-variable-placeholder.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11572" class="size-full wp-image-11572" src="https://zappysys.com/blog/wp-content/uploads/2015/11/Dynamic-MongoDB-Query-Use-SSIS-variable-placeholder.png" alt="" width="828" height="591" srcset="https://zappysys.com/blog/wp-content/uploads/2015/11/Dynamic-MongoDB-Query-Use-SSIS-variable-placeholder.png 828w, https://zappysys.com/blog/wp-content/uploads/2015/11/Dynamic-MongoDB-Query-Use-SSIS-variable-placeholder-300x214.png 300w, https://zappysys.com/blog/wp-content/uploads/2015/11/Dynamic-MongoDB-Query-Use-SSIS-variable-placeholder-768x548.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></a><p id="caption-attachment-11572" class="wp-caption-text">Dynamic MongoDB Query &#8211; Use SSIS variable placeholder</p></div>
<h2>SQL Like Query Language using SSIS PowerPack</h2>
<p>SSIS PowerPack includes an <a target="_blank" rel="noopener">SSIS MongoDB Source</a> that supports a SQL-like query language for MongoDB. It automatically converts SQL queries to correct MongoDB JSON Query syntax. See the screenshot below. Here you can write an SQL Query. If you want to use a nested array element as a column name, you must use arrayname.elementname, e.g., <strong>LocationDetails.Country</strong></p>
<div id="attachment_11573" style="width: 920px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2015/11/MongoDB-SQL-Query-Language-SSIS-MongoDB-Source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11573" class="size-full wp-image-11573" src="https://zappysys.com/blog/wp-content/uploads/2015/11/MongoDB-SQL-Query-Language-SSIS-MongoDB-Source.png" alt="" width="910" height="774" srcset="https://zappysys.com/blog/wp-content/uploads/2015/11/MongoDB-SQL-Query-Language-SSIS-MongoDB-Source.png 910w, https://zappysys.com/blog/wp-content/uploads/2015/11/MongoDB-SQL-Query-Language-SSIS-MongoDB-Source-300x255.png 300w, https://zappysys.com/blog/wp-content/uploads/2015/11/MongoDB-SQL-Query-Language-SSIS-MongoDB-Source-768x653.png 768w" sizes="(max-width: 910px) 100vw, 910px" /></a><p id="caption-attachment-11573" class="wp-caption-text">MongoDB SQL Query Language &#8211; SSIS MongoDB Source</p></div>
<h2>Download FREE SSIS Components</h2>
<p><a href="https://zappysys.com/products/ssis-powerpack/"><img decoding="async" src="//zappysys.com/wp-content/uploads/2016/10/slider-ssis-powerpack-1.png" /></a></p>
<p>The post <a href="https://zappysys.com/blog/how-to-query-mongodb-by-date-or-isodate/">How to query MongoDB by date or ISODate</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
