<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Database on egig.github.io</title><link>https://egig.github.io/blog/database/</link><description>Recent content in Database on egig.github.io</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 27 Jan 2020 10:00:00 +0000</lastBuildDate><atom:link href="https://egig.github.io/blog/database/index.xml" rel="self" type="application/rss+xml"/><item><title>Some Consideration on Designing Database</title><link>https://egig.github.io/some-consideration-on-designing-database/</link><pubDate>Mon, 27 Jan 2020 10:00:00 +0000</pubDate><guid>https://egig.github.io/some-consideration-on-designing-database/</guid><description>&lt;p&gt;My first post this 2020. One of those things I want to write is that what I learn from sharing session from work&#10;combined with a few experiences about database MySQL.&lt;/p&gt;&#10;&lt;p&gt;There are some that we need to consider when working with database MySQL so&#10;our database can work seamlessly effective.&lt;/p&gt;&#10;&lt;h3 id="collation"&gt;Collation&lt;/h3&gt;&#10;&lt;p&gt;When creating new database, often ignore about anything else except the short syntax&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1&lt;/span&gt;&lt;span&gt;CREATE DATABASE &amp;lt;db-name&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Collation is basic thing we should care about. Character set is now evolved, so we need to&#10;ready to handle even very strange emoji and smiley in our character set. Without concern&#10;about the collation, we likely will get this error&lt;/p&gt;</description></item><item><title>A Way to Do Group By</title><link>https://egig.github.io/a-way-to-do-group-by/</link><pubDate>Mon, 10 Jun 2019 13:00:00 +0000</pubDate><guid>https://egig.github.io/a-way-to-do-group-by/</guid><description>&lt;p&gt;How do you do &lt;code&gt;Group By&lt;/code&gt; in SQL ? (or MySql) ? This post is note about my experience writing query in sql, There is worth-to-note something about &amp;lsquo;Group By&amp;rsquo;, there is may be better way to do it.&lt;/p&gt;&#10;&lt;p&gt;So lets say, we have following schema, table &lt;code&gt;users&lt;/code&gt; and table &lt;code&gt;orders&lt;/code&gt;, they have relation one to many. One user can has zero or many orders.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;CREATE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;TABLE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;orders&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2&lt;/span&gt;&lt;span&gt;(&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;id&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;INT&lt;/span&gt;(&lt;span style="color:#40a070"&gt;11&lt;/span&gt;)&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;PRIMARY&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;KEY&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;AUTO_INCREMENT,&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;title&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color:#40a070"&gt;500&lt;/span&gt;)&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;,&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;order_date&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;DATE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;,&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;user_id&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;INT&lt;/span&gt;(&lt;span style="color:#40a070"&gt;11&lt;/span&gt;)&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7&lt;/span&gt;&lt;span&gt;);&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9&lt;/span&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;CREATE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;TABLE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;users&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10&lt;/span&gt;&lt;span&gt;(&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;11&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;id&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;INT&lt;/span&gt;(&lt;span style="color:#40a070"&gt;10&lt;/span&gt;)&lt;span style="color:#bbb"&gt; &lt;/span&gt;unsigned&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;PRIMARY&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;KEY&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;AUTO_INCREMENT,&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;12&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;name&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color:#40a070"&gt;255&lt;/span&gt;)&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;,&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;13&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;email&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color:#40a070"&gt;255&lt;/span&gt;)&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NOT&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;NULL&lt;/span&gt;,&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;14&lt;/span&gt;&lt;span&gt;);&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;15&lt;/span&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;16&lt;/span&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;CREATE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;UNIQUE&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;INDEX&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;users_email_unique&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;ON&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;users&lt;span style="color:#bbb"&gt; &lt;/span&gt;(email);&lt;span style="color:#bbb"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and suppose we need to get all users for certain order, for &lt;code&gt;SELECT *&lt;/code&gt; fan, the query pretty much will looks like this&lt;/p&gt;</description></item><item><title>MongoDB Sort By Nested Array of Object Item</title><link>https://egig.github.io/mongodb-sort-by-nested-array-of-object-item/</link><pubDate>Fri, 29 Mar 2019 21:00:00 +0000</pubDate><guid>https://egig.github.io/mongodb-sort-by-nested-array-of-object-item/</guid><description>&lt;p&gt;Let&amp;rsquo;s say, I have this kind of list of Mongodb documents, named &lt;code&gt;hardwares&lt;/code&gt;;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1&lt;/span&gt;&lt;span&gt;[&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2&lt;/span&gt;&lt;span&gt;&#9;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;_id:&lt;/span&gt; &lt;span style=""&gt;ObjectId(...),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;Unit x&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;parts:&lt;/span&gt; &lt;span style=""&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6&lt;/span&gt;&lt;span&gt;&#9;&#9;&#9;&lt;span style=""&gt;{&lt;/span&gt; &lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;CPU&amp;#34;&lt;/span&gt;, &lt;span style=""&gt;model:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;x&amp;#34;&lt;/span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7&lt;/span&gt;&lt;span&gt;&#9;&#9;&#9;{ &lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;Memory&amp;#34;&lt;/span&gt;, &lt;span style=""&gt;size:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;4&amp;#34;&lt;/span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8&lt;/span&gt;&lt;span&gt;&#9;&#9;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9&lt;/span&gt;&lt;span&gt;&#9;&lt;span style=""&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10&lt;/span&gt;&lt;span&gt;&#9;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;11&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;_id:&lt;/span&gt; &lt;span style=""&gt;ObjectId(...),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;12&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;Unit y&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;13&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;parts:&lt;/span&gt; &lt;span style=""&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;14&lt;/span&gt;&lt;span&gt;&#9;&#9;&#9;&lt;span style=""&gt;{&lt;/span&gt; &lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;CPU&amp;#34;&lt;/span&gt;, &lt;span style=""&gt;model:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;y&amp;#34;&lt;/span&gt; }&lt;span style=""&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;15&lt;/span&gt;&lt;span&gt;&#9;&#9;&#9;{ &lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;Memory&amp;#34;&lt;/span&gt;, &lt;span style=""&gt;size:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;8&amp;#34;&lt;/span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;16&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;17&lt;/span&gt;&lt;span&gt;&#9;&lt;span style=""&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;18&lt;/span&gt;&lt;span&gt;&#9;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;19&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;_id:&lt;/span&gt; &lt;span style=""&gt;ObjectId(...),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;20&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;Unit z&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;21&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;parts:&lt;/span&gt; &lt;span style=""&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;22&lt;/span&gt;&lt;span&gt;&#9;&#9;&#9;&lt;span style=""&gt;{&lt;/span&gt; &lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;CPU&amp;#34;&lt;/span&gt;, &lt;span style=""&gt;model:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;z&amp;#34;&lt;/span&gt; }&lt;span style=""&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;23&lt;/span&gt;&lt;span&gt;&#9;&#9;&#9;{ &lt;span style=""&gt;name:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;Memory&amp;#34;&lt;/span&gt;, &lt;span style=""&gt;size:&lt;/span&gt; &lt;span style="color:#062873;font-weight:bold"&gt;&amp;#34;2&amp;#34;&lt;/span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;24&lt;/span&gt;&lt;span&gt;&#9;&#9;&lt;span style=""&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;25&lt;/span&gt;&lt;span&gt;&#9;&lt;span style=""&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;26&lt;/span&gt;&lt;span&gt;&lt;span style=""&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Recently I&amp;rsquo;ve struggle to find a way to sort those document list by nested array of object item, in this case, certain item in &lt;code&gt;parts&lt;/code&gt; array.&lt;/p&gt;</description></item></channel></rss>