<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://nosqlzoo.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=40166222</id>
	<title>NoSQLZoo - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://nosqlzoo.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=40166222"/>
	<link rel="alternate" type="text/html" href="https://nosqlzoo.net/wiki/Special:Contributions/40166222"/>
	<updated>2026-04-17T02:04:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MediaWiki:Common.js&amp;diff=1364</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MediaWiki:Common.js&amp;diff=1364"/>
		<updated>2019-11-19T12:39:55Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;function linkScript() {&lt;br /&gt;
    /* poor man&#039;s autoloader */&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    Array.prototype.slice.call(arguments, 0).forEach(function (a) {&lt;br /&gt;
        var x = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
        x.async = false;&lt;br /&gt;
        x.src = &amp;quot;/mw/scripts/&amp;quot; + a + &amp;quot;.js&amp;quot;;&lt;br /&gt;
        document.head.appendChild(x);&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(function () {&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    //CodeMirror.&lt;br /&gt;
    var cmVersion = &amp;quot;codemirror-5.39.0/&amp;quot;;&lt;br /&gt;
    linkScript(&lt;br /&gt;
        &amp;quot;jshint-2.9.5-min&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;lib/codemirror&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;mode/javascript/javascript&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;mode/cypher/cypher&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/display/fullscreen&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/display/rulers&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/edit/closebrackets&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/edit/matchbrackets&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/fold/foldcode&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/fold/foldgutter&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/fold/brace-fold&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/hint/show-hint&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/lint/lint&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/lint/javascript-lint&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/lint/json-lint&amp;quot;,&lt;br /&gt;
        cmVersion + &amp;quot;addon/edit/trailingspace&amp;quot;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    //Question-related scripts.&lt;br /&gt;
    linkScript(&amp;quot;nosqlzoo&amp;quot;, &amp;quot;beautify&amp;quot;, &amp;quot;validator&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    //Google Analytics&lt;br /&gt;
    var tag_manager = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
    tag_manager.async = true;&lt;br /&gt;
    tag_manager.src = &amp;quot;https://www.googletagmanager.com/gtag/js?id=UA-120387375-1&amp;quot;;&lt;br /&gt;
    document.head.appendChild(tag_manager);&lt;br /&gt;
&lt;br /&gt;
    var google = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
    google.src = &amp;quot;/mw/scripts/google.js&amp;quot;;&lt;br /&gt;
    document.head.appendChild(google);&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1353</id>
		<title>MAPREDUCE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1353"/>
		<updated>2019-02-06T20:19:46Z</updated>

		<summary type="html">&lt;p&gt;40166222: Provided a much better target answer for Q8.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MapReduce - The Basics==&lt;br /&gt;
&amp;lt;p&amp;gt;This tutorial introduces the &#039;&#039;&#039;MapReduce&#039;&#039;&#039; command.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[MapReduce]] examples are available.&lt;br /&gt;
&amp;lt;div&amp;gt;The MapReduce function allows to functions to be applied over a collection. The two functions map and reduce are important because:&lt;br /&gt;
*Together they can solve a huge range of common database queries.&lt;br /&gt;
*They can be distributed effectively; you can share the work load among a number of processors and get your answer faster.&lt;br /&gt;
&lt;br /&gt;
It is recommended to have some familiarity with JavaScript before attempting the following questions: &lt;br /&gt;
[[JavaScript: Fundamentals]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://developer.mozilla.org/bm/docs/Web/JavaScript JavaScript | MDN]&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map function can be used to filter and transform the data:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use a map function to get the names of countries in Europe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    if (this.continent === &amp;quot;Europe&amp;quot;){&lt;br /&gt;
      emit(this.name, null);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return v;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.continent==&amp;quot;Europe&amp;quot;){emit(this.name,null)}},function(_,v){return v},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use the previous answer to find the population of the world to the nearest million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to round to the nearest million&amp;quot;&amp;gt;Use the JavaScript round function : Math.round(population/1000000)*1000000 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(&#039;World Population in Millions&#039;,this.population)},function(_,values){return Math.round(Array.sum(values)/1000000)*1000000},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter, determine how many country names begin with that letter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit((this.name).substring(0,1),1)},function(_,values){return Array.sum(values)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the number of countries in each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,1)},function(_,v){return Array.sum(v)},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and area of the smallest 3 countries by area. Ignore records where the area is 0 or null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.name,this.area)},function(_,v){return v},{limit:3,out:{inline:1},query:{&amp;quot;$and&amp;quot;:[{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:null}},{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}]},sort:{&amp;quot;area&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each continent, find the first and last country alphabetically.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,{first:this.name,last:this.name})},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first}&lt;br /&gt;
if(r.last&amp;lt;v[i].last){r.last=v[i].last}}&lt;br /&gt;
return r},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return country names or capital cities that start with a letter &#039;M&#039; as keys, use null as the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if((this.name).startsWith(&#039;M&#039;)){emit(this.name,null)}&lt;br /&gt;
if((this.capital).startsWith(&#039;M&#039;)){emit(this.capital,null)}},function(_,v){return v},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter in the alphabet find the amount of cities that start with that letter. &amp;lt;br/&amp;gt; &lt;br /&gt;
Additionally, find the two cities that come first and last alphabetically for that letter. e.g.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;_id&amp;quot; : &amp;quot;B&amp;quot;,&lt;br /&gt;
	&amp;quot;value&amp;quot; : {&lt;br /&gt;
		&amp;quot;first&amp;quot; : &amp;quot;Baghdad&amp;quot;,&lt;br /&gt;
		&amp;quot;last&amp;quot; : &amp;quot;Bujumbura&amp;quot;,&lt;br /&gt;
		&amp;quot;count&amp;quot; : 25&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){this.capital&amp;amp;&amp;amp;emit(this.capital[0],{first:this.capital,last:this.capital,count:1})},function(t,i){return i.sort(function(t,i){return t.first&amp;lt;i.first?-1:1}),{first:i[0].first,last:i[i.length-1].first,count:i.length}},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show country count for countries in the following ranges:&amp;lt;/p&amp;gt;&lt;br /&gt;
  0 to 1000000&lt;br /&gt;
  1000000 to 2000000&lt;br /&gt;
  2000000 to 3000000&lt;br /&gt;
  3000000 to 5000000&lt;br /&gt;
  5000000 to 10000000&lt;br /&gt;
  10000000 to 15000000&lt;br /&gt;
  More than 15000000&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){var p=this.population;switch(!0){case p&amp;lt;1000000:emit(&amp;quot;0 TO 1000000&amp;quot;,1);break;case p&amp;lt;2000000:emit(&amp;quot;1000000 TO 2000000&amp;quot;,1);break;case p&amp;lt;3000000:emit(&amp;quot;2000000 TO 3000000&amp;quot;,1);break;case p&amp;lt;5000000:emit(&amp;quot;3000000 TO 5000000&amp;quot;,1);break;case p&amp;lt;10000000:emit(&amp;quot;5000000 TO 10000000&amp;quot;,1);break;case p&amp;lt;15000000:emit(&amp;quot;10000000 TO 15000000&amp;quot;,1);break&lt;br /&gt;
case p&amp;gt;15000000:emit(&amp;quot;MORE THAN 15000000&amp;quot;,1);break}},function(_,v){return Array.sum(v)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1352</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1352"/>
		<updated>2018-11-23T15:03:30Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* After S */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;.pretty()&amp;lt;/syntaxhighlight&amp;gt; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent: &amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can test numbers as well as strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp: 3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area: 43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Greater than and less than comparisons can also be applied to strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name: &#039;Germany&#039;},&lt;br /&gt;
    {name: &#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1351</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1351"/>
		<updated>2018-11-23T15:03:18Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* After S */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;.pretty()&amp;lt;/syntaxhighlight&amp;gt; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent: &amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can test numbers as well as strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp: 3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area: 43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
Greater than and less than comparisons can also be applied to strings.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name: &#039;Germany&#039;},&lt;br /&gt;
    {name: &#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1350</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1350"/>
		<updated>2018-11-23T15:02:44Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* After S */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;.pretty()&amp;lt;/syntaxhighlight&amp;gt; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent: &amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can test numbers as well as strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp: 3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area: 43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name: &#039;Germany&#039;},&lt;br /&gt;
    {name: &#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1349</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1349"/>
		<updated>2018-11-08T18:41:17Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Reference: How to... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. (extra: [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]])&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE examples | AGGREGATE Examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND Examples]]&lt;br /&gt;
; [[JavaScript: Fundamentals]]&lt;br /&gt;
; [[JavaScript: Computed Properties]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
{{Acknowledgements}}&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1348</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1348"/>
		<updated>2018-10-17T15:54:15Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. (extra: [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]])&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE Examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND Examples]]&lt;br /&gt;
; [[JavaScript: Fundamentals]]&lt;br /&gt;
; [[JavaScript: Computed Properties]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
{{Acknowledgements}}&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Neo4j:Main_Page&amp;diff=1347</id>
		<title>Neo4j:Main Page</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Neo4j:Main_Page&amp;diff=1347"/>
		<updated>2018-10-17T15:53:54Z</updated>

		<summary type="html">&lt;p&gt;40166222: Created page with &amp;quot;Learn NoSQL using Neo4j. &amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt; ==Tutorials: Learn NoSQL in stages==  ; x [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about thi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using Neo4j.&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
&lt;br /&gt;
; x [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
&lt;br /&gt;
==Neo4j Resources==&lt;br /&gt;
; [https://nosqlzoo.net/browser/ NoSQLZoo Neo4j Browser]&lt;br /&gt;
; [https://neo4j.com/docs/developer-manual/current/ Neo4j Documentation]&lt;br /&gt;
; [https://github.com/neo4j Neo4j GitHub]&lt;br /&gt;
{{Acknowledgements}}&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Template:Acknowledgements&amp;diff=1346</id>
		<title>Template:Acknowledgements</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Template:Acknowledgements&amp;diff=1346"/>
		<updated>2018-10-17T15:51:21Z</updated>

		<summary type="html">&lt;p&gt;40166222: Created page with &amp;quot;==Acknowledgements== NoSQLZoo is made possible by the following open-source technologies: ; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ Co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1344</id>
		<title>MAPREDUCE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1344"/>
		<updated>2018-10-17T14:48:12Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MapReduce - The Basics==&lt;br /&gt;
&amp;lt;p&amp;gt;This tutorial introduces the &#039;&#039;&#039;MapReduce&#039;&#039;&#039; command.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[MapReduce]] examples are available.&lt;br /&gt;
&amp;lt;div&amp;gt;The MapReduce function allows to functions to be applied over a collection. The two functions map and reduce are important because:&lt;br /&gt;
*Together they can solve a huge range of common database queries.&lt;br /&gt;
*They can be distributed effectively; you can share the work load among a number of processors and get your answer faster.&lt;br /&gt;
&lt;br /&gt;
It is recommended to have some familiarity with JavaScript before attempting the following questions: &lt;br /&gt;
[[JavaScript: Fundamentals]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://developer.mozilla.org/bm/docs/Web/JavaScript JavaScript | MDN]&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map function can be used to filter and transform the data:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use a map function to get the names of countries in Europe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    if (this.continent === &amp;quot;Europe&amp;quot;){&lt;br /&gt;
      emit(this.name, null);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return v;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.continent==&amp;quot;Europe&amp;quot;){emit(this.name,null)}},function(_,v){return v},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use the previous answer to find the population of the world to the nearest million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to round to the nearest million&amp;quot;&amp;gt;Use the JavaScript round function : Math.round(population/1000000)*1000000 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(&#039;World Population in Millions&#039;,this.population)},function(_,values){return Math.round(Array.sum(values)/1000000)*1000000},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter, determine how many country names begin with that letter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit((this.name).substring(0,1),1)},function(_,values){return Array.sum(values)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the number of countries in each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,1)},function(_,v){return Array.sum(v)},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and area of the smallest 3 countries by area. Ignore records where the area is 0 or null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.name,this.area)},function(_,v){return v},{limit:3,out:{inline:1},query:{&amp;quot;$and&amp;quot;:[{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:null}},{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}]},sort:{&amp;quot;area&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each continent, find the first and last country alphabetically.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,{first:this.name,last:this.name})},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first}&lt;br /&gt;
if(r.last&amp;lt;v[i].last){r.last=v[i].last}}&lt;br /&gt;
return r},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return country names or capital cities that start with a letter &#039;M&#039; as keys, use null as the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if((this.name).startsWith(&#039;M&#039;)){emit(this.name,null)}&lt;br /&gt;
if((this.capital).startsWith(&#039;M&#039;)){emit(this.capital,null)}},function(_,v){return v},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter in the alphabet find the amount of cities that start with that letter. &amp;lt;br/&amp;gt; &lt;br /&gt;
Additionally, find the two cities that come first and last alphabetically for that letter. e.g.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;_id&amp;quot; : &amp;quot;B&amp;quot;,&lt;br /&gt;
	&amp;quot;value&amp;quot; : {&lt;br /&gt;
		&amp;quot;first&amp;quot; : &amp;quot;Baghdad&amp;quot;,&lt;br /&gt;
		&amp;quot;last&amp;quot; : &amp;quot;Bujumbura&amp;quot;,&lt;br /&gt;
		&amp;quot;count&amp;quot; : 25&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.capital){emit((this.capital).substring(0,1),{first:this.capital,last:this.capital})}},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;,count:0};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first};if(r.last&amp;lt;v[i].last){r.last=v[i].last};r.count+=1}&lt;br /&gt;
return r},{finalize:function(_,v){if(!v.count){v.count=1}&lt;br /&gt;
return v},out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show country count for countries in the following ranges:&amp;lt;/p&amp;gt;&lt;br /&gt;
  0 to 1000000&lt;br /&gt;
  1000000 to 2000000&lt;br /&gt;
  2000000 to 3000000&lt;br /&gt;
  3000000 to 5000000&lt;br /&gt;
  5000000 to 10000000&lt;br /&gt;
  10000000 to 15000000&lt;br /&gt;
  More than 15000000&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){var p=this.population;switch(!0){case p&amp;lt;1000000:emit(&amp;quot;0 TO 1000000&amp;quot;,1);break;case p&amp;lt;2000000:emit(&amp;quot;1000000 TO 2000000&amp;quot;,1);break;case p&amp;lt;3000000:emit(&amp;quot;2000000 TO 3000000&amp;quot;,1);break;case p&amp;lt;5000000:emit(&amp;quot;3000000 TO 5000000&amp;quot;,1);break;case p&amp;lt;10000000:emit(&amp;quot;5000000 TO 10000000&amp;quot;,1);break;case p&amp;lt;15000000:emit(&amp;quot;10000000 TO 15000000&amp;quot;,1);break&lt;br /&gt;
case p&amp;gt;15000000:emit(&amp;quot;MORE THAN 15000000&amp;quot;,1);break}},function(_,v){return Array.sum(v)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1343</id>
		<title>MAPREDUCE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1343"/>
		<updated>2018-10-17T14:47:33Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MapReduce - The Basics==&lt;br /&gt;
&amp;lt;p&amp;gt;This tutorial introduces the &#039;&#039;&#039;MapReduce&#039;&#039;&#039; command.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[MapReduce]] examples are available.&lt;br /&gt;
&amp;lt;div&amp;gt;The MapReduce function allows to functions to be applied over a collection. The two functions map and reduce are important because:&lt;br /&gt;
*Together they can solve a huge range of common database queries.&lt;br /&gt;
*They can be distributed effectively; you can share the work load among a number of processors and get your answer faster.&lt;br /&gt;
&lt;br /&gt;
It is recommended to have some familiarity with JavaScript before attempting the following questions: &lt;br /&gt;
[[JavaScript: Fundamentals]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://developer.mozilla.org/bm/docs/Web/JavaScript JavaScript | MDN]&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map function can be used to filter and transform the data:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use a map function to get the names of countries in Europe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    if (this.continent === &amp;quot;Europe&amp;quot;){&lt;br /&gt;
      emit(this.name, null);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return v;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.continent==&amp;quot;Europe&amp;quot;){emit(this.name,null)}},function(_,v){return v},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use the previous answer to find the population of the world to the nearest million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to round to the nearest million&amp;quot;&amp;gt;Use the JavaScript round function : Math.round(population/1000000)*1000000 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(&#039;World Population in Millions&#039;,this.population)},function(_,values){return Math.round(Array.sum(values)/1000000)*1000000},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter, determine how many country names begin with that letter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit((this.name).substring(0,1),1)},function(_,values){return Array.sum(values)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the number of countries in each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,1)},function(_,v){return Array.sum(v)},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and area of the smallest 3 countries by area. Ignore records where the area is 0 or null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.name,this.area)},function(_,v){return v},{limit:3,out:{inline:1},query:{&amp;quot;$and&amp;quot;:[{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:null}},{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}]},sort:{&amp;quot;area&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each continent, find the first and last country alphabetically.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,{first:this.name,last:this.name})},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first}&lt;br /&gt;
if(r.last&amp;lt;v[i].last){r.last=v[i].last}}&lt;br /&gt;
return r},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return country names or capital cities that start with a letter &#039;M&#039; as keys, use null as the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if((this.name).startsWith(&#039;M&#039;)){emit(this.name,null)}&lt;br /&gt;
if((this.capital).startsWith(&#039;M&#039;)){emit(this.capital,null)}},function(_,v){return v},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter in the alphabet find the amount of cities that start with that letter as well as the cities that come first and last alphabetically for that letter. e.g.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;_id&amp;quot; : &amp;quot;B&amp;quot;,&lt;br /&gt;
	&amp;quot;value&amp;quot; : {&lt;br /&gt;
		&amp;quot;first&amp;quot; : &amp;quot;Baghdad&amp;quot;,&lt;br /&gt;
		&amp;quot;last&amp;quot; : &amp;quot;Bujumbura&amp;quot;,&lt;br /&gt;
		&amp;quot;count&amp;quot; : 25&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.capital){emit((this.capital).substring(0,1),{first:this.capital,last:this.capital})}},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;,count:0};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first};if(r.last&amp;lt;v[i].last){r.last=v[i].last};r.count+=1}&lt;br /&gt;
return r},{finalize:function(_,v){if(!v.count){v.count=1}&lt;br /&gt;
return v},out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show country count for countries in the following ranges:&amp;lt;/p&amp;gt;&lt;br /&gt;
  0 to 1000000&lt;br /&gt;
  1000000 to 2000000&lt;br /&gt;
  2000000 to 3000000&lt;br /&gt;
  3000000 to 5000000&lt;br /&gt;
  5000000 to 10000000&lt;br /&gt;
  10000000 to 15000000&lt;br /&gt;
  More than 15000000&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){var p=this.population;switch(!0){case p&amp;lt;1000000:emit(&amp;quot;0 TO 1000000&amp;quot;,1);break;case p&amp;lt;2000000:emit(&amp;quot;1000000 TO 2000000&amp;quot;,1);break;case p&amp;lt;3000000:emit(&amp;quot;2000000 TO 3000000&amp;quot;,1);break;case p&amp;lt;5000000:emit(&amp;quot;3000000 TO 5000000&amp;quot;,1);break;case p&amp;lt;10000000:emit(&amp;quot;5000000 TO 10000000&amp;quot;,1);break;case p&amp;lt;15000000:emit(&amp;quot;10000000 TO 15000000&amp;quot;,1);break&lt;br /&gt;
case p&amp;gt;15000000:emit(&amp;quot;MORE THAN 15000000&amp;quot;,1);break}},function(_,v){return Array.sum(v)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1342</id>
		<title>MAPREDUCE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1342"/>
		<updated>2018-10-17T14:46:43Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MapReduce - The Basics==&lt;br /&gt;
&amp;lt;p&amp;gt;This tutorial introduces the &#039;&#039;&#039;MapReduce&#039;&#039;&#039; command.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[MapReduce]] examples are available.&lt;br /&gt;
&amp;lt;div&amp;gt;The MapReduce function allows to functions to be applied over a collection. The two functions map and reduce are important because:&lt;br /&gt;
*Together they can solve a huge range of common database queries.&lt;br /&gt;
*They can be distributed effectively; you can share the work load among a number of processors and get your answer faster.&lt;br /&gt;
&lt;br /&gt;
It is recommended to have some familiarity with JavaScript before attempting the following questions: &lt;br /&gt;
[[JavaScript: Fundamentals]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://developer.mozilla.org/bm/docs/Web/JavaScript JavaScript | MDN]&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map function can be used to filter and transform the data:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use a map function to get the names of countries in Europe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    if (this.continent === &amp;quot;Europe&amp;quot;){&lt;br /&gt;
      emit(this.name, null);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return v;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.continent==&amp;quot;Europe&amp;quot;){emit(this.name,null)}},function(_,v){return v},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use the previous answer to find the population of the world to the nearest million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to round to the nearest million&amp;quot;&amp;gt;Use the JavaScript round function : Math.round(population/1000000)*1000000 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(&#039;World Population in Millions&#039;,this.population)},function(_,values){return Math.round(Array.sum(values)/1000000)*1000000},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter, determine how many country names begin with that letter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit((this.name).substring(0,1),1)},function(_,values){return Array.sum(values)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the number of countries in each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,1)},function(_,v){return Array.sum(v)},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and area of the smallest 3 countries by area. Ignore records where the area is 0 or null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.name,this.area)},function(_,v){return v},{limit:3,out:{inline:1},query:{&amp;quot;$and&amp;quot;:[{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:null}},{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}]},sort:{&amp;quot;area&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each continent, find the first and last country alphabetically.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,{first:this.name,last:this.name})},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first}&lt;br /&gt;
if(r.last&amp;lt;v[i].last){r.last=v[i].last}}&lt;br /&gt;
return r},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return country names or capital cities that start with a letter &#039;M&#039; as keys, use null as the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if((this.name).startsWith(&#039;M&#039;)){emit(this.name,null)}&lt;br /&gt;
if((this.capital).startsWith(&#039;M&#039;)){emit(this.capital,null)}},function(_,v){return v},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter in the alphabet, find the amount of cities and the cities that come first and last alphabetically. e.g.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;_id&amp;quot; : &amp;quot;B&amp;quot;,&lt;br /&gt;
	&amp;quot;value&amp;quot; : {&lt;br /&gt;
		&amp;quot;first&amp;quot; : &amp;quot;Baghdad&amp;quot;,&lt;br /&gt;
		&amp;quot;last&amp;quot; : &amp;quot;Bujumbura&amp;quot;,&lt;br /&gt;
		&amp;quot;count&amp;quot; : 25&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.capital){emit((this.capital).substring(0,1),{first:this.capital,last:this.capital})}},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;,count:0};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first};if(r.last&amp;lt;v[i].last){r.last=v[i].last};r.count+=1}&lt;br /&gt;
return r},{finalize:function(_,v){if(!v.count){v.count=1}&lt;br /&gt;
return v},out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show country count for countries in the following ranges:&amp;lt;/p&amp;gt;&lt;br /&gt;
  0 to 1000000&lt;br /&gt;
  1000000 to 2000000&lt;br /&gt;
  2000000 to 3000000&lt;br /&gt;
  3000000 to 5000000&lt;br /&gt;
  5000000 to 10000000&lt;br /&gt;
  10000000 to 15000000&lt;br /&gt;
  More than 15000000&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){var p=this.population;switch(!0){case p&amp;lt;1000000:emit(&amp;quot;0 TO 1000000&amp;quot;,1);break;case p&amp;lt;2000000:emit(&amp;quot;1000000 TO 2000000&amp;quot;,1);break;case p&amp;lt;3000000:emit(&amp;quot;2000000 TO 3000000&amp;quot;,1);break;case p&amp;lt;5000000:emit(&amp;quot;3000000 TO 5000000&amp;quot;,1);break;case p&amp;lt;10000000:emit(&amp;quot;5000000 TO 10000000&amp;quot;,1);break;case p&amp;lt;15000000:emit(&amp;quot;10000000 TO 15000000&amp;quot;,1);break&lt;br /&gt;
case p&amp;gt;15000000:emit(&amp;quot;MORE THAN 15000000&amp;quot;,1);break}},function(_,v){return Array.sum(v)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1341</id>
		<title>MAPREDUCE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1341"/>
		<updated>2018-10-17T14:45:30Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* MapReduce - The Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MapReduce - The Basics==&lt;br /&gt;
&amp;lt;p&amp;gt;This tutorial introduces the &#039;&#039;&#039;MapReduce&#039;&#039;&#039; command.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[MapReduce]] examples are available.&lt;br /&gt;
&amp;lt;div&amp;gt;The MapReduce function allows to functions to be applied over a collection. The two functions map and reduce are important because:&lt;br /&gt;
*Together they can solve a huge range of common database queries.&lt;br /&gt;
*They can be distributed effectively; you can share the work load among a number of processors and get your answer faster.&lt;br /&gt;
&lt;br /&gt;
It is recommended to have some familiarity with JavaScript before attempting the following questions: &lt;br /&gt;
[[JavaScript: Fundamentals]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://developer.mozilla.org/bm/docs/Web/JavaScript JavaScript | MDN]&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map function can be used to filter and transform the data:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use a map function to get the names of countries in Europe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    if (this.continent === &amp;quot;Europe&amp;quot;){&lt;br /&gt;
      emit(this.name, null);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return v;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.continent==&amp;quot;Europe&amp;quot;){emit(this.name,null)}},function(_,v){return v},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use the previous answer to find the population of the world to the nearest million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to round to the nearest million&amp;quot;&amp;gt;Use the JavaScript round function : Math.round(population/1000000)*1000000 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(&#039;World Population in Millions&#039;,this.population)},function(_,values){return Math.round(Array.sum(values)/1000000)*1000000},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter, determine how many country names begin with that letter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit((this.name).substring(0,1),1)},function(_,values){return Array.sum(values)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the number of countries in each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,1)},function(_,v){return Array.sum(v)},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and area of the smallest 3 countries by area. Ignore records where the area is 0 or null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.name,this.area)},function(_,v){return v},{limit:3,out:{inline:1},query:{&amp;quot;$and&amp;quot;:[{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:null}},{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}]},sort:{&amp;quot;area&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each continent, find the first and last country alphabetically.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,{first:this.name,last:this.name})},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first}&lt;br /&gt;
if(r.last&amp;lt;v[i].last){r.last=v[i].last}}&lt;br /&gt;
return r},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return country names or capital cities that start with a letter &#039;M&#039; as keys, use null as the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if((this.name).startsWith(&#039;M&#039;)){emit(this.name,null)}&lt;br /&gt;
if((this.capital).startsWith(&#039;M&#039;)){emit(this.capital,null)}},function(_,v){return v},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter in the alphabet, find the amount of cities and the cities that come first and last alphabetically. e.g.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;_id&amp;quot; : &amp;quot;B&amp;quot;,&lt;br /&gt;
	&amp;quot;value&amp;quot; : {&lt;br /&gt;
		&amp;quot;first&amp;quot; : &amp;quot;Baghdad&amp;quot;,&lt;br /&gt;
		&amp;quot;last&amp;quot; : &amp;quot;Bujumbura&amp;quot;,&lt;br /&gt;
		&amp;quot;count&amp;quot; : 25&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.capital){emit((this.capital).substring(0,1),{first:this.capital,last:this.capital})}},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;,count:0};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first};if(r.last&amp;lt;v[i].last){r.last=v[i].last};r.count+=1}&lt;br /&gt;
return r},{finalize:function(_,v){if(!v.count){v.count=1}&lt;br /&gt;
return v},out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show country count for countries in the following ranges:&amp;lt;/p&amp;gt;&lt;br /&gt;
  0 to 1000000&lt;br /&gt;
  1000000 to 2000000&lt;br /&gt;
  2000000 to 3000000&lt;br /&gt;
  3000000 to 5000000&lt;br /&gt;
  5000000 to 10000000&lt;br /&gt;
  10000000 to 15000000&lt;br /&gt;
  More than 15000000&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){var p=this.population;switch(!0){case p&amp;lt;1000000:emit(&amp;quot;0 TO 1000000&amp;quot;,1);break;case p&amp;lt;2000000:emit(&amp;quot;1000000 TO 2000000&amp;quot;,1);break;case p&amp;lt;3000000:emit(&amp;quot;2000000 TO 3000000&amp;quot;,1);break;case p&amp;lt;5000000:emit(&amp;quot;3000000 TO 5000000&amp;quot;,1);break;case p&amp;lt;10000000:emit(&amp;quot;5000000 TO 10000000&amp;quot;,1);break;case p&amp;lt;15000000:emit(&amp;quot;10000000 TO 15000000&amp;quot;,1);break&lt;br /&gt;
case p&amp;gt;15000000:emit(&amp;quot;MORE THAN 15000000&amp;quot;,1);break}},function(_,v){return Array.sum(v)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1340</id>
		<title>MAPREDUCE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Tutorial&amp;diff=1340"/>
		<updated>2018-10-17T14:45:11Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* MapReduce - The Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MapReduce - The Basics==&lt;br /&gt;
&amp;lt;p&amp;gt;This tutorial introduces the &#039;&#039;&#039;MapReduce&#039;&#039;&#039; command.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[MapReduce]] examples are available.&lt;br /&gt;
&amp;lt;div&amp;gt;The MapReduce function allows to functions to be applied over a collection. The two functions map and reduce are important because:&lt;br /&gt;
*Together they can solve a huge range of common database queries.&lt;br /&gt;
*They can be distributed effectively; you can share the work load among a number of processors and get your answer faster.&lt;br /&gt;
&lt;br /&gt;
It is recommended to have some familiarity with JavaScript before attempting the following questions: &lt;br /&gt;
[[JavaScript:_Fundamentals]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://developer.mozilla.org/bm/docs/Web/JavaScript JavaScript | MDN]&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map function can be used to filter and transform the data:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use a map function to get the names of countries in Europe.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    if (this.continent === &amp;quot;Europe&amp;quot;){&lt;br /&gt;
      emit(this.name, null);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return v;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.continent==&amp;quot;Europe&amp;quot;){emit(this.name,null)}},function(_,v){return v},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Use the previous answer to find the population of the world to the nearest million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to round to the nearest million&amp;quot;&amp;gt;Use the JavaScript round function : Math.round(population/1000000)*1000000 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(&#039;World Population in Millions&#039;,this.population)},function(_,values){return Math.round(Array.sum(values)/1000000)*1000000},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter, determine how many country names begin with that letter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit((this.name).substring(0,1),1)},function(_,values){return Array.sum(values)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the number of countries in each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,1)},function(_,v){return Array.sum(v)},{out:{inline:1}})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and area of the smallest 3 countries by area. Ignore records where the area is 0 or null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.name,this.area)},function(_,v){return v},{limit:3,out:{inline:1},query:{&amp;quot;$and&amp;quot;:[{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:null}},{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}]},sort:{&amp;quot;area&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each continent, find the first and last country alphabetically.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){emit(this.continent,{first:this.name,last:this.name})},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first}&lt;br /&gt;
if(r.last&amp;lt;v[i].last){r.last=v[i].last}}&lt;br /&gt;
return r},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return country names or capital cities that start with a letter &#039;M&#039; as keys, use null as the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if((this.name).startsWith(&#039;M&#039;)){emit(this.name,null)}&lt;br /&gt;
if((this.capital).startsWith(&#039;M&#039;)){emit(this.capital,null)}},function(_,v){return v},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;For each letter in the alphabet, find the amount of cities and the cities that come first and last alphabetically. e.g.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;_id&amp;quot; : &amp;quot;B&amp;quot;,&lt;br /&gt;
	&amp;quot;value&amp;quot; : {&lt;br /&gt;
		&amp;quot;first&amp;quot; : &amp;quot;Baghdad&amp;quot;,&lt;br /&gt;
		&amp;quot;last&amp;quot; : &amp;quot;Bujumbura&amp;quot;,&lt;br /&gt;
		&amp;quot;count&amp;quot; : 25&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){if(this.capital){emit((this.capital).substring(0,1),{first:this.capital,last:this.capital})}},function(_,v){let r={first:&#039;ZZZ&#039;,last:&#039;AAA&#039;,count:0};for(let i=0;i&amp;lt;v.length;i++){if(r.first&amp;gt;v[i].first){r.first=v[i].first};if(r.last&amp;lt;v[i].last){r.last=v[i].last};r.count+=1}&lt;br /&gt;
return r},{finalize:function(_,v){if(!v.count){v.count=1}&lt;br /&gt;
return v},out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show country count for countries in the following ranges:&amp;lt;/p&amp;gt;&lt;br /&gt;
  0 to 1000000&lt;br /&gt;
  1000000 to 2000000&lt;br /&gt;
  2000000 to 3000000&lt;br /&gt;
  3000000 to 5000000&lt;br /&gt;
  5000000 to 10000000&lt;br /&gt;
  10000000 to 15000000&lt;br /&gt;
  More than 15000000&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.mapReduce(&lt;br /&gt;
  function () {&lt;br /&gt;
    emit(null, null);&lt;br /&gt;
  },&lt;br /&gt;
  function (k, v) {&lt;br /&gt;
    return null;&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.mapReduce(function(){var p=this.population;switch(!0){case p&amp;lt;1000000:emit(&amp;quot;0 TO 1000000&amp;quot;,1);break;case p&amp;lt;2000000:emit(&amp;quot;1000000 TO 2000000&amp;quot;,1);break;case p&amp;lt;3000000:emit(&amp;quot;2000000 TO 3000000&amp;quot;,1);break;case p&amp;lt;5000000:emit(&amp;quot;3000000 TO 5000000&amp;quot;,1);break;case p&amp;lt;10000000:emit(&amp;quot;5000000 TO 10000000&amp;quot;,1);break;case p&amp;lt;15000000:emit(&amp;quot;10000000 TO 15000000&amp;quot;,1);break&lt;br /&gt;
case p&amp;gt;15000000:emit(&amp;quot;MORE THAN 15000000&amp;quot;,1);break}},function(_,v){return Array.sum(v)},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=JavaScript:_Computed_Properties&amp;diff=1339</id>
		<title>JavaScript: Computed Properties</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=JavaScript:_Computed_Properties&amp;diff=1339"/>
		<updated>2018-10-17T14:38:44Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the [[JavaScript: Fundamentals]] tutorial we briefly looked at creating and using &#039;&#039;&#039;objects&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
Occasionally we may want to create objects and properties &#039;dynamically&#039; i.e. objects created &amp;quot;on-the-fly&amp;quot; instead of hard-coded into our applications. &amp;lt;br /&amp;gt;&lt;br /&gt;
Take the following example. We have a collection of people objects with names and ages, e.g. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  name: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
  age: 50&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and for each person we want to create an object with the following structure: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  Bob: 50&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
We might try to do something like the following:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
let people = [{&lt;br /&gt;
  name: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
  age: 50&lt;br /&gt;
}, {&lt;br /&gt;
  name: &amp;quot;Alice&amp;quot;,&lt;br /&gt;
  age: 52&lt;br /&gt;
}];&lt;br /&gt;
for (let index = 0; index &amp;lt; people.length; index++) {&lt;br /&gt;
  let person = people[index];&lt;br /&gt;
  let output = {&lt;br /&gt;
    person.name: person.age&lt;br /&gt;
  };&lt;br /&gt;
  print(JSON.stringify(output));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Unfortunately, as you can see in the editor above, this approach creates errors. &amp;lt;br /&amp;gt;&lt;br /&gt;
To get around these errors we can use a JavaScript feature known as &#039;&#039;&#039;Computed Property Names&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
Using this is simple, simply put square brackets (&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;[&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;]&amp;lt;/syntaxhighlight&amp;gt;) around any field that needs to be computed.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the above example, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;person.name: person.age&amp;lt;/code&amp;gt; becomes &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;[person.name]: person.age&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
let people = [{&lt;br /&gt;
  name: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
  age: 50&lt;br /&gt;
}, {&lt;br /&gt;
  name: &amp;quot;Alice&amp;quot;,&lt;br /&gt;
  age: 52&lt;br /&gt;
}];&lt;br /&gt;
for (let index = 0; index &amp;lt; people.length; index++) {&lt;br /&gt;
  let person = people[index];&lt;br /&gt;
  let output = {&lt;br /&gt;
    [person.name]: person.age&lt;br /&gt;
  };&lt;br /&gt;
  print(JSON.stringify(output));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another way of doing this is to split the property initialisation from the object initialisation.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
let people = [{&lt;br /&gt;
  name: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
  age: 50&lt;br /&gt;
}, {&lt;br /&gt;
  name: &amp;quot;Alice&amp;quot;,&lt;br /&gt;
  age: 52&lt;br /&gt;
}];&lt;br /&gt;
for (let index = 0; index &amp;lt; people.length; index++) {&lt;br /&gt;
  let person = people[index];&lt;br /&gt;
  let output = {};&lt;br /&gt;
  output[person.name] = person.age;&lt;br /&gt;
  print(JSON.stringify(output));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=JavaScript:_Fundamentals&amp;diff=1338</id>
		<title>JavaScript: Fundamentals</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=JavaScript:_Fundamentals&amp;diff=1338"/>
		<updated>2018-10-17T14:34:09Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Introduction to JavaScript==&lt;br /&gt;
JavaScript is a high level interpretted scripting language originally created to enable interactivity in web pages.&amp;lt;br/&amp;gt;&lt;br /&gt;
Today, JavaScript has many other uses, one of which is powering the MongoDB interactive shell environment.&amp;lt;br/&amp;gt;&lt;br /&gt;
As such, to be able to query MongoDB effectively it is necessary to have a good knowledge of both &#039;&#039;&#039;JavaScript (js)&#039;&#039;&#039; and &#039;&#039;&#039;JavaScript Object Notation (JSON)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==The Basics==&lt;br /&gt;
This tutorial will teach you the basic JavaScript skills you will need to tackle the harder MongoDB questions.&amp;lt;br/&amp;gt;&lt;br /&gt;
It is highly recommended that you are comfortable with JavaScript before attempting the [[MAPREDUCE_Tutorial | MapReduce Tutorial]].&lt;br /&gt;
&lt;br /&gt;
===Operators===&lt;br /&gt;
The following examples involve the use of &#039;&#039;&#039;operators&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Operators are symbols used to perform various data manipulations.&amp;lt;br/&amp;gt;&lt;br /&gt;
You can use this reference table to search any operator you are not familiar with already.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 !colspan=&amp;quot;2&amp;quot;|Arithmetic Operators&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;&lt;br /&gt;
 |addition&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
 |subtraction&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&lt;br /&gt;
 |multiplication&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
 |division&lt;br /&gt;
 |- &lt;br /&gt;
 |&amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt;&lt;br /&gt;
 |modulus (remainder)&lt;br /&gt;
 |-&lt;br /&gt;
 !colspan=&amp;quot;2&amp;quot;|Assignment Operators&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |regular assignment&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;+=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a += b&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a + b&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;-=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a -= b&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a - b&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;*=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a *= b&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a * b&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;/=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a /= b&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a / b&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;%=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a %= b&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a % b&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;++&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a++&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a + 1&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;--&amp;lt;/code&amp;gt;&lt;br /&gt;
 |&amp;lt;code&amp;gt;a--&amp;lt;/code&amp;gt; is shorthand for &amp;lt;code&amp;gt;a = a - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 !colspan=&amp;quot;2&amp;quot;|Comparison Operators&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;&lt;br /&gt;
 |equal values&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;===&amp;lt;/code&amp;gt;&lt;br /&gt;
 |equal values and equal types&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |different values&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;!==&amp;lt;/code&amp;gt;&lt;br /&gt;
 |different values or different types&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |greater than&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |greater than or equal to&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |less than&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
 |less than or equal to&lt;br /&gt;
 |-&lt;br /&gt;
 !colspan=&amp;quot;2&amp;quot;|Logical Operators&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;amp;&amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |and&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |or&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
 |not&lt;br /&gt;
 |-&lt;br /&gt;
 !colspan=&amp;quot;2&amp;quot;|The Ternary Operator&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;a ? b : c&amp;lt;/code&amp;gt;&lt;br /&gt;
 | if &#039;&#039;&#039;a&#039;&#039;&#039; is &#039;&#039;&#039;true&#039;&#039;&#039;, then &#039;&#039;&#039;b&#039;&#039;&#039;, else &#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
 |-&lt;br /&gt;
 !colspan=&amp;quot;2&amp;quot;|Bitwise Operators&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |and&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |or&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt;&lt;br /&gt;
 |not&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt;&lt;br /&gt;
 |exclusive or (xor)&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;lt;&amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |left shift&lt;br /&gt;
 |-&lt;br /&gt;
 |&amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 |right shift&lt;br /&gt;
 |-&lt;br /&gt;
 |}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Variables and Types===&lt;br /&gt;
Variables are used to store values for later use. Each variable has a &#039;&#039;&#039;type&#039;&#039;&#039; which defines what kind of value can be stored, and what operations are allowed involving that variable. Javascript has seven types in total: &lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;Number&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Any number, such a &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3.4&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;2E9&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
In JavaScript all numbers are stored in [https://ieeexplore.ieee.org/document/4610935 IEEE floating-point format.]&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
print(&lt;br /&gt;
    1,&lt;br /&gt;
    -2.3,&lt;br /&gt;
    2E9,&lt;br /&gt;
    1 - 2.3 + 2E9&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;String&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A string is a sequence of characters surrounded by quotation marks. e.g. &#039;&#039;&#039;&amp;quot;Bob&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;quot;Alice&amp;quot;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
There are several methods availible to making working with strings easier that can be found [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String here].&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
print(&amp;quot;string&amp;quot;);&lt;br /&gt;
print(&amp;quot;string with newline \n&amp;quot;);&lt;br /&gt;
print(&amp;quot;string&amp;quot;.indexOf(&amp;quot;n&amp;quot;));&lt;br /&gt;
print(&amp;quot;string&amp;quot;.replace(&amp;quot;i&amp;quot;, &amp;quot;o&amp;quot;));&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;Boolean&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A variable that can be either &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt; or &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;false&amp;lt;/syntaxhighlight&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Comparison and logical operators always return a boolean and can be used with an &#039;&#039;&#039;if&#039;&#039;&#039; statement to control program flow.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
print(true, false);&lt;br /&gt;
&lt;br /&gt;
// or, and operators&lt;br /&gt;
print(true || false, true &amp;amp;&amp;amp; false);&lt;br /&gt;
&lt;br /&gt;
// not operator&lt;br /&gt;
print(!true, !false);&lt;br /&gt;
&lt;br /&gt;
// if statements&lt;br /&gt;
if (3 &amp;gt; 2) {&lt;br /&gt;
    print(&amp;quot;Three is larger&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    print(&amp;quot;Two is larger&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simplifying if statements with ternary.&lt;br /&gt;
print((3 &amp;gt; 2 ? &amp;quot;Three&amp;quot; : &amp;quot;Two&amp;quot;) + &amp;quot; is larger&amp;quot;);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;Symbol&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Symbols are used to create unique identifiers. You shouldn&#039;t have to use a symbol for any of the questions on this website.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;undefined&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A variable that has been &#039;&#039;&#039;declared&#039;&#039;&#039;, but that has had no value assigned to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;object&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Objects are collections of multiple variables (properties) and are used to represent complex data structures. For example, consider this object representing an employee:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  name: &amp;quot;Jill&amp;quot;,&lt;br /&gt;
  age: 22,&lt;br /&gt;
  job: {&lt;br /&gt;
    title: &amp;quot;Programmer&amp;quot;,&lt;br /&gt;
    location: &amp;quot;Edinburgh&amp;quot;,&lt;br /&gt;
    company: &amp;quot;Napier University&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Let&#039;s call this object &#039;&#039;&#039;x&#039;&#039;&#039;. By using either dot notation or bracket notation it is possible to get and set x&#039;s properties.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
print(x.name);                          // Returns: &amp;quot;Jill&amp;quot;&lt;br /&gt;
print(x.nam);                           // Returns: undefined&lt;br /&gt;
print(x[&#039;age&#039;]);                        // Returns: 22&lt;br /&gt;
x.job.title = &amp;quot;Database Administrator&amp;quot;; // Changes the title field of the job object inside the x object.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;null&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Technically not a separate type but a special kind of &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;object&amp;lt;/syntaxhighlight&amp;gt;that is used to represent assigned but &#039;empty&#039; variables.&lt;br /&gt;
===Assignments, and scope===&lt;br /&gt;
To define and assign variables either use the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;var&amp;lt;/syntaxhighlight&amp;gt; or &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;let&amp;lt;/syntaxhighlight&amp;gt; keyword.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
If declared outside of a function (discussed below) variables are &#039;&#039;&#039;global&#039;&#039;&#039;, i.e. they can can be accessed and edited from anywhere.&amp;lt;br/&amp;gt;&lt;br /&gt;
If used inside a function, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;var&amp;lt;/syntaxhighlight&amp;gt; will use the scope of the entire function, whereas &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;let&amp;lt;/syntaxhighlight&amp;gt;  variables will only affect the block in which they are defined.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; To see this in action use the example below, which has been adapted from a Mozilla Developer Network example:&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
var x = 1;   // declare a global variable, x&lt;br /&gt;
if (true) {&lt;br /&gt;
  var x = 2; // same global variable, x&lt;br /&gt;
  print(x);  // 2&lt;br /&gt;
}&lt;br /&gt;
print(x);    // 2&lt;br /&gt;
&lt;br /&gt;
let y = 1;   // declare a global variable, y &lt;br /&gt;
if (true) {&lt;br /&gt;
  let y = 2; // different local variable, y&lt;br /&gt;
  print(y);  // 2&lt;br /&gt;
}&lt;br /&gt;
print(y);    // 1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
===Arrays===&lt;br /&gt;
Arrays are used to store several objects in a list-like fashion and come with many useful helper functions, below are a few.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
let x = [1, 2, 3, 4, 5];&lt;br /&gt;
print(x);&lt;br /&gt;
&lt;br /&gt;
// First Item (access by index)&lt;br /&gt;
print(x[0]);&lt;br /&gt;
&lt;br /&gt;
// Last Item&lt;br /&gt;
print(x.length);&lt;br /&gt;
print(x[x.length - 1]);&lt;br /&gt;
&lt;br /&gt;
// Add an item to the end&lt;br /&gt;
x.push(6);&lt;br /&gt;
print(x);&lt;br /&gt;
&lt;br /&gt;
// Remove an item from the end&lt;br /&gt;
x.pop();&lt;br /&gt;
print(x);&lt;br /&gt;
&lt;br /&gt;
// Remove an item (or more).&lt;br /&gt;
print(x.splice(3, 1));&lt;br /&gt;
&lt;br /&gt;
// More examples at https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should be enough JavaScript to attempt the majority, if not all of the MongoDB questions on NoSQLZoo. &amp;lt;br/&amp;gt;&lt;br /&gt;
Some questions such as the harder MapReduce questions may be easier by reading up on [[JavaScript:_Computed_Properties | Computed Properties]] beforehand. &amp;lt;br /&amp;gt;&lt;br /&gt;
Further tutorials can be found at the [https://developer.mozilla.org/en-US/docs/Web/JavaScript Mozilla Developer Network]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1337</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1337"/>
		<updated>2018-10-17T14:19:14Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Reference: How to... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. (extra: [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]])&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE Examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND Examples]]&lt;br /&gt;
; [[JavaScript: Fundamentals]]&lt;br /&gt;
; [[JavaScript: Computed Properties]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1336</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1336"/>
		<updated>2018-10-17T14:17:02Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;.pretty()&amp;lt;/syntaxhighlight&amp;gt; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name: &#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent: &amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can test numbers as well as strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp: 3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area: 43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name: &#039;Germany&#039;},&lt;br /&gt;
    {name: &#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Examples&amp;diff=1335</id>
		<title>FIND Examples</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Examples&amp;diff=1335"/>
		<updated>2018-10-17T14:12:45Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducing the &#039;&#039;&#039;world&#039;&#039;&#039; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;These examples introduce NoSQL using MongoDB. We will be using the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; command on the &#039;&#039;&#039;world&#039;&#039;&#039; collection .&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
By default, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; returns the entire contents of a collection. This is equivalent to &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find({})&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show all the documents in world&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==find and findOne==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
It is also possible to just return the first document with &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;findOne()&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the first document of world&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==skip and limit==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
It is also possible to retrieve a specific document based on its position using &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;skip(n-1)&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;limit(1)&amp;lt;/syntaxhighlight&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
As this is JavaScript you can also access by index: &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;db.world.find()[n-1];&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get the 50th document of world&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find().skip(49).limit(1);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Querying==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; can filter results if a document is used as an argument. &lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get all the data concerning france&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a projection with find==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
By passing a second parameter to &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; the output can be limited to certain field(s)&amp;lt;br/&amp;gt;&lt;br /&gt;
In this example &#039;&#039;&#039;1&#039;&#039;&#039; indicates &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt; and &#039;&#039;&#039;0&#039;&#039;&#039; indicates &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;false&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A feature of MongoDB is the [http://docs.mongodb.org/manual/reference/object-id/ ObjectID] or &#039;&#039;&#039;_id&#039;&#039;&#039;.&amp;lt;br/&amp;gt; &lt;br /&gt;
This is a unique ID MongoDB adds to each document. Unlike other keys, it has to be &amp;lt;b&amp;gt;explicitly&amp;lt;/b&amp;gt; set to false to be excluded from the results set.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get the population of Germany&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;Germany&amp;quot;}, {population: 1, _id: 0});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comparisons==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
MongoDB also allows comparisons. Syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Mongo | MySQL&lt;br /&gt;
--------------&lt;br /&gt;
$eq   | == &lt;br /&gt;
$gt   | &amp;gt;&lt;br /&gt;
$gte  | &amp;gt;=&lt;br /&gt;
$lt   | &amp;lt;&lt;br /&gt;
$lte  | &amp;lt;=&lt;br /&gt;
$ne   | !=, &amp;lt;&amp;gt;&lt;br /&gt;
$in   | IN&lt;br /&gt;
$nin  | NOT IN&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;List the countries with a population that&#039;s less than 1 million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population: {$lt: 1000000}}, {name: 1, _id: 0});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logical operations $and $or $not==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
It&#039;s also possible to have multiple conditions for use in an &#039;&#039;&#039;$and&#039;&#039;&#039;, &#039;&#039;&#039;$or&#039;&#039;&#039;, etc. This can be done in several ways, for example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
// AND (implicit)&lt;br /&gt;
db.&amp;lt;collection&amp;gt;.find({&amp;lt;first condition&amp;gt;, &amp;lt;second condition&amp;gt;});&lt;br /&gt;
db.world.find({population: {$lt: 1000000}, area: {$gt: 200000}});&lt;br /&gt;
&lt;br /&gt;
// AND (explicit)&lt;br /&gt;
db.&amp;lt;collection&amp;gt;.find({$and: [&amp;lt;first condition&amp;gt;, &amp;lt;second condition&amp;gt;]});&lt;br /&gt;
db.world.find({$and: [{population: {$lt: 1000000}}, {area: {$gt: 200000}}]});&lt;br /&gt;
&lt;br /&gt;
// OR&lt;br /&gt;
db.&amp;lt;collection&amp;gt;.find({$or: [&amp;lt;first condition&amp;gt;, &amp;lt;second condition&amp;gt;]});&lt;br /&gt;
db.world.find({$or: [{population: {$lt: 1000000}}, {area: {$gt: 200000}}]});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Find the countries with less than 1 million people, but over 200000km&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; area.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population: {$lt: 1000000}, area: {$gt: 200000}}, {name: 1, _id: 0});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$in and $nin==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Lists can be used with &#039;&#039;&#039;$in&#039;&#039;&#039; and &#039;&#039;&#039;$nin&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Find the continent of Brazil, the United Kingdom, and Ghana.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
   {name: {$in: [&#039;Brazil&#039;, &#039;Ghana&#039;, &#039;United Kingdom&#039;]}},&lt;br /&gt;
   {name: 1, continent: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Regular Expressions==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Pattern matching is possible with Regular Expressions (RegEx)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show each country that begins with G.&amp;lt;/p&amp;gt; [[RegEx_Pattern_Matching | RegEx Pattern Matching]]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {name: {$regex: /^G/}},&lt;br /&gt;
  {name: 1, continent: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_examples&amp;diff=1334</id>
		<title>FIND examples</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_examples&amp;diff=1334"/>
		<updated>2018-10-17T13:57:32Z</updated>

		<summary type="html">&lt;p&gt;40166222: 40166222 moved page FIND examples to FIND Examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[FIND Examples]]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Examples&amp;diff=1333</id>
		<title>FIND Examples</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Examples&amp;diff=1333"/>
		<updated>2018-10-17T13:57:32Z</updated>

		<summary type="html">&lt;p&gt;40166222: 40166222 moved page FIND examples to FIND Examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducing the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;These examples introduce NoSQL using MongoDB. We will be using the find() command on the collection &#039;&#039;&#039;world&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;extra_space&amp;quot; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
By default, &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt; returns the entire contents of a collection. This is equivalent to &amp;lt;code&amp;gt;find({})&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show all the documents in world&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==find and findOne==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
It is also possible to just return the first document with &amp;lt;code&amp;gt;findOne()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the first document of world&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==skip and limit==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
It is also possible to retrieve a specific document based on its position using &amp;lt;code&amp;gt;skip(n-1)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;limit(1)&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
As this is JavaScript you can also access by index: &amp;lt;code&amp;gt;db.world.find()[n-1];&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get the 50th document of world&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find().skip(49).limit(1);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Querying==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt; can filter results if a document is used as an argument. &lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get all the data concerning france&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({&amp;quot;name&amp;quot;:&amp;quot;France&amp;quot;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a projection with find==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
By passing a second parameter to &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt; the output can be limited to certain field(s)&amp;lt;br/&amp;gt;&lt;br /&gt;
In this example 1 indicates &amp;quot;true&amp;quot; and 0 indicates &amp;quot;false&amp;quot;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A feature of MongoDB is the [http://docs.mongodb.org/manual/reference/object-id/ ObjectID] or &amp;lt;code&amp;gt;_id&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt; &lt;br /&gt;
This is a unique ID MongoDB adds to each document. Unlike other keys, it has to be &amp;lt;b&amp;gt;explicitly&amp;lt;/b&amp;gt; set to false to be excluded from the results set.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get the population of Germany&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({&amp;quot;name&amp;quot;: &amp;quot;Germany&amp;quot;},{&amp;quot;population&amp;quot;: 1,&amp;quot;_id&amp;quot;: 0});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comparisons $eq $gt $gte $lte $ne==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
MongoDB also allows comparisons. Syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Mongo | MySQL&lt;br /&gt;
--------------&lt;br /&gt;
$eq   | == &lt;br /&gt;
$gt   | &amp;gt;&lt;br /&gt;
$gte  | &amp;gt;=&lt;br /&gt;
$lt   | &amp;lt;&lt;br /&gt;
$lte  | &amp;lt;=&lt;br /&gt;
$ne   | !=, &amp;lt;&amp;gt;&lt;br /&gt;
$in   | IN&lt;br /&gt;
$nin  | NOT IN&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;List the countries with a population that&#039;s less than 1 million.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({&amp;quot;population&amp;quot;: {&amp;quot;$lt&amp;quot;: 1000000}}, {&amp;quot;name&amp;quot;: 1,&amp;quot;_id&amp;quot;: 0});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logical operations $and $or $not==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
It&#039;s also possible to have multiple conditions for use in an &amp;lt;code&amp;gt;$and&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$or&amp;lt;/code&amp;gt;, etc. This can be done in several ways, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
AND (implicit)&lt;br /&gt;
db.&amp;lt;collection&amp;gt;.find({&amp;lt;first condition&amp;gt;,&amp;lt;second condition&amp;gt;});&lt;br /&gt;
db.world.find({&amp;quot;population&amp;quot;:{&amp;quot;$lt&amp;quot;:1000000},&amp;quot;area&amp;quot;:{&amp;quot;$gt&amp;quot;:200000}});&lt;br /&gt;
&lt;br /&gt;
AND (explicit)&lt;br /&gt;
db.&amp;lt;collection&amp;gt;.find({&amp;quot;$and&amp;quot;:[&amp;lt;first condition&amp;gt;,&amp;lt;second condition&amp;gt;]});&lt;br /&gt;
db.world.find({&amp;quot;$and&amp;quot;:[{&amp;quot;population&amp;quot;:{&amp;quot;$lt&amp;quot;:1000000}},{&amp;quot;area&amp;quot;:{&amp;quot;$gt&amp;quot;:200000}}]});&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
db.&amp;lt;collection&amp;gt;.find({&amp;quot;$or&amp;quot;:[&amp;lt;first condition&amp;gt;,&amp;lt;second condition&amp;gt;]});&lt;br /&gt;
db.world.find({&amp;quot;$or&amp;quot;:[{&amp;quot;population&amp;quot;:{&amp;quot;$lt&amp;quot;:1000000}},{&amp;quot;area&amp;quot;:{&amp;quot;$gt&amp;quot;:200000}}]});&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Find the countries with less than 1 million people, but over 200000km&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; area.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({&amp;quot;population&amp;quot;: {&amp;quot;$lt&amp;quot;: 1000000},&amp;quot;area&amp;quot;: {&amp;quot;$gt&amp;quot;: 200000}},{&amp;quot;name&amp;quot;: 1,&amp;quot;_id&amp;quot;: 0});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$in and $nin==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Lists can be used with &amp;lt;code&amp;gt;$in&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$nin&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Find the continent of Brazil, the United Kingdom, and Ghana.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
   {name: {$in: [&#039;Brazil&#039;, &#039;Ghana&#039;, &#039;United Kingdom&#039;]}},&lt;br /&gt;
   {name: 1, continent: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Regular Expressions==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Pattern matching is possible with Regular Expressions (RegEx)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show each country that begins with G&amp;lt;/p&amp;gt; [https://no.sqlzoo.net/wiki/RegEx_Pattern_Matching Reference]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {name: {$regex: /^G/}},&lt;br /&gt;
  {name: 1, continent: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Elite_Document_Structure&amp;diff=1332</id>
		<title>Elite Document Structure</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Elite_Document_Structure&amp;diff=1332"/>
		<updated>2018-10-17T13:55:27Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Elite Dangerous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questions on this database can be found here: [[MAPREDUCE elite]]&lt;br /&gt;
==Elite Dangerous==&lt;br /&gt;
Keys used in this database.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    commodities: &lt;br /&gt;
        _id, average_price, category, name&lt;br /&gt;
&lt;br /&gt;
    systems: &lt;br /&gt;
        _id, allegiance, faction, government, name, population, primary_economy, security, state, stations, updated_at, x, y, z&lt;br /&gt;
&lt;br /&gt;
    systems.stations: &lt;br /&gt;
        allegiance, distance_to_star, economies, export_commodities,has_blackmarket, has_commodities, has_rearm, has_repair,&lt;br /&gt;
        has_shipyard, has_outfitting, faction, government, listings, max_landing_pad, name, state, type, updated_at&lt;br /&gt;
&lt;br /&gt;
    systems.stations.listings: &lt;br /&gt;
        buy_price, collected_at, demand, commodity, sell_price, supply, update_count&lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Unlike the &#039;&#039;&#039;world&#039;&#039;&#039; collection, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;null&amp;lt;/syntaxhighlight&amp;gt; and empty values are not stored in this database.&amp;lt;br/&amp;gt;&lt;br /&gt;
This means that some documents will have fields that others do not. Some systems will be uninhabited and have no stations and some stations will have no listings.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
To query &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;null&amp;lt;/syntaxhighlight&amp;gt; &#039;&#039;&#039;or&#039;&#039;&#039; non-existent fields use &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;lt;field&amp;gt;: None&amp;lt;/syntaxhighlight&amp;gt;. or &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;lt;field&amp;gt;: &amp;quot;null&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A typical &amp;lt;code&amp;gt;commodities&amp;lt;/code&amp;gt; document looks something like this.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
        &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;55af74e7402aa43f1ce7e3a3&amp;quot;),&lt;br /&gt;
        &amp;quot;name&amp;quot; : &amp;quot;Explosives&amp;quot;,&lt;br /&gt;
        &amp;quot;average_price&amp;quot; : 267,&lt;br /&gt;
        &amp;quot;category&amp;quot; : &amp;quot;Chemicals&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;systems&#039;&#039;&#039; is much bigger, so some stations and listings have been removed from this example document to make it shorter.&lt;br /&gt;
*The system &#039;&#039;&#039;Kappa Cygni&#039;&#039;&#039; has two stations &#039;&#039;&#039;Kensey Ring&#039;&#039;&#039; and &#039;&#039;&#039;Hauck Enterprise&#039;&#039;&#039;.&lt;br /&gt;
*At Kensey Ring you can buy the commodity &#039;&#039;&#039;Hydrogen Fuel&#039;&#039;&#039; for 93 credits per ton, you can sell it is 89 credits.&lt;br /&gt;
*You cannot buy &#039;&#039;&#039;Mineral Oil&#039;&#039;&#039; there but you can sell it at 326.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt; db.systems.findOne({&amp;quot;name&amp;quot;:&amp;quot;1 Kappa Cygni&amp;quot;}) // Query&lt;br /&gt;
&lt;br /&gt;
// Result&lt;br /&gt;
{&lt;br /&gt;
        &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;55b0edf6369fd5074b349c48&amp;quot;),&lt;br /&gt;
        &amp;quot;stations&amp;quot; : [&lt;br /&gt;
                {&lt;br /&gt;
                        &amp;quot;max_landing_pad_size&amp;quot; : &amp;quot;M&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_blackmarket&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;has_commodities&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;updated_at&amp;quot; : 1434929486,&lt;br /&gt;
                        &amp;quot;has_outfitting&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;government&amp;quot; : &amp;quot;Democracy&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_shipyard&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;type&amp;quot; : &amp;quot;Unknown Outpost&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_rearm&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;allegiance&amp;quot; : &amp;quot;Federation&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_refuel&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot; : &amp;quot;Kinsey Ring&amp;quot;,&lt;br /&gt;
                        &amp;quot;listings&amp;quot; : [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;commodity&amp;quot; : &amp;quot;Hydrogen Fuel&amp;quot;,&lt;br /&gt;
                                        &amp;quot;supply&amp;quot; : 129630,&lt;br /&gt;
                                        &amp;quot;collected_at&amp;quot; : 1421669319,&lt;br /&gt;
                                        &amp;quot;update_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;buy_price&amp;quot; : 93,&lt;br /&gt;
                                        &amp;quot;sell_price&amp;quot; : 89,&lt;br /&gt;
                                        &amp;quot;demand&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;commodity&amp;quot; : &amp;quot;Mineral Oil&amp;quot;,&lt;br /&gt;
                                        &amp;quot;supply&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;collected_at&amp;quot; : 1421669320,&lt;br /&gt;
                                        &amp;quot;update_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;buy_price&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;sell_price&amp;quot; : 326,&lt;br /&gt;
                                        &amp;quot;demand&amp;quot; : 217674&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;distance_to_star&amp;quot; : 2359,&lt;br /&gt;
                        &amp;quot;economies&amp;quot; : [&lt;br /&gt;
                                &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
                                &amp;quot;Refinery&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;has_repair&amp;quot; : 1&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                        &amp;quot;max_landing_pad_size&amp;quot; : &amp;quot;M&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_blackmarket&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;has_commodities&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;updated_at&amp;quot; : 1434929486,&lt;br /&gt;
                        &amp;quot;has_outfitting&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;government&amp;quot; : &amp;quot;Anarchy&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_shipyard&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;type&amp;quot; : &amp;quot;Unknown Outpost&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_rearm&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;allegiance&amp;quot; : &amp;quot;Independent&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_refuel&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot; : &amp;quot;Hauck Enterprise&amp;quot;,&lt;br /&gt;
                        &amp;quot;distance_to_star&amp;quot; : 4832,&lt;br /&gt;
                        &amp;quot;economies&amp;quot; : [&lt;br /&gt;
                                &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
                                &amp;quot;Refinery&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;has_repair&amp;quot; : 1&lt;br /&gt;
                }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;name&amp;quot; : &amp;quot;1 Kappa Cygni&amp;quot;,&lt;br /&gt;
        &amp;quot;faction&amp;quot; : &amp;quot;United 1 Kappa Cygni Future&amp;quot;,&lt;br /&gt;
        &amp;quot;government&amp;quot; : &amp;quot;Democracy&amp;quot;,&lt;br /&gt;
        &amp;quot;allegiance&amp;quot; : &amp;quot;Federation&amp;quot;,&lt;br /&gt;
        &amp;quot;updated_at&amp;quot; : 1430938622,&lt;br /&gt;
        &amp;quot;state&amp;quot; : &amp;quot;None&amp;quot;,&lt;br /&gt;
        &amp;quot;needs_permit&amp;quot; : 0,&lt;br /&gt;
        &amp;quot;y&amp;quot; : 37.78125,&lt;br /&gt;
        &amp;quot;x&amp;quot; : -117.75,&lt;br /&gt;
        &amp;quot;security&amp;quot; : &amp;quot;High&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot; : 11.1875,&lt;br /&gt;
        &amp;quot;primary_economy&amp;quot; : &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
        &amp;quot;population&amp;quot; : 24843190&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Elite&amp;diff=1331</id>
		<title>MAPREDUCE Elite</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MAPREDUCE_Elite&amp;diff=1331"/>
		<updated>2018-10-17T13:48:17Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Introducing the elite database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducing the elite database==&lt;br /&gt;
These questions will introduce the &amp;quot;elite&amp;quot; database, which contains data about the video game [https://www.elitedangerous.com/ Elite Dangerous]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
There are two collections, &amp;lt;code&amp;gt;commodities&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;systems&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;Inside &amp;lt;code&amp;gt;systems&amp;lt;/code&amp;gt; there are nested documents called &amp;lt;code&amp;gt;stations&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
A &amp;lt;b&amp;gt;system&amp;lt;/b&amp;gt; has many &amp;lt;b&amp;gt;stations&amp;lt;/b&amp;gt;, and a &amp;lt;b&amp;gt;station&amp;lt;/b&amp;gt; has many trade &amp;lt;code&amp;gt;listings&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Keys used in this database.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    commodities:&lt;br /&gt;
        _id, average_price, category, name&lt;br /&gt;
    systems:&lt;br /&gt;
        _id, allegiance, faction, government, name, population, primary_economy, security, state, stations, updated_at, x, y, z&lt;br /&gt;
    systems.stations: &lt;br /&gt;
        _id, allegiance, distance_to_star, economies, export_commodities,has_blackmarket, has_commodities, has_rearm, has_repair,&lt;br /&gt;
        has_shipyard, has_outfitting, faction, government, listings, max_landing_pad, name, state, type, updated_at&lt;br /&gt;
    systems.stations.listings: &lt;br /&gt;
        _id, buy_price, collected_at, demand, commodity, sell_price, supply, update_count&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read more about the structure here: [[Elite Document Structure]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot; data-switches=&#039;elite&#039;&amp;gt;The &amp;lt;code&amp;gt;commodities&amp;lt;/code&amp;gt; collection contains the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;average_price&amp;lt;/code&amp;gt; of each commodity.&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 99 unique commodities and 15 categories.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Find the average price of each category, round to the nearest whole number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.commodities.mapReduce(&lt;br /&gt;
  function(){&lt;br /&gt;
    emit(1, 1);&lt;br /&gt;
  },&lt;br /&gt;
  function(k, v){&lt;br /&gt;
    return Array.sum(v);&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.commodities.mapReduce(function(){emit(this.category,this.average_price);},function(k,v){return Math.round(Array.sum(v)/v.length);},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot; data-switches=&#039;elite&#039;&amp;gt;Each system has an &amp;lt;code&amp;gt;allegiance&amp;lt;/code&amp;gt;. There are three main factions: &amp;lt;b&amp;gt;The Federation&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;The Empire&amp;lt;/b&amp;gt;, and &amp;lt;b&amp;gt;The Alliance&amp;lt;/b&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Non-populated systems without stations do not have an allegiance, and should be ignored.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the amount of systems following each type of allegiance.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.systems.mapReduce(&lt;br /&gt;
  function(){&lt;br /&gt;
    emit(1, 1);&lt;br /&gt;
  },&lt;br /&gt;
  function(k, v){&lt;br /&gt;
    return Array.sum(v);&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.systems.mapReduce(function(){if (this.allegiance!=null){emit(this.allegiance,1);}},function(k,v){return Array.sum(v);},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot; data-switches=&#039;elite&#039;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;What are the populations of the three main factions?&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Three main factions&amp;quot;&amp;gt;[&amp;quot;Alliance&amp;quot;,&amp;quot;Federation&amp;quot;,&amp;quot;Empire&amp;quot;]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;NaN?&amp;quot;&amp;gt;Some systems are not populated and will have &#039;&#039;&#039;null&#039;&#039;&#039; population fields, make sure to exclude them using &amp;lt;code&amp;gt;!isNaN()&amp;lt;/code&amp;gt;.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.systems.mapReduce(&lt;br /&gt;
  function(){&lt;br /&gt;
    emit(1, 1);&lt;br /&gt;
  },&lt;br /&gt;
  function(k, v){&lt;br /&gt;
    return Array.sum(v);&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.systems.mapReduce(function(){if(!isNaN(this.population)&amp;amp;&amp;amp;this.allegiance!=null&amp;amp;&amp;amp;this.allegiance!=&amp;quot;Independent&amp;quot;&amp;amp;&amp;amp;this.allegiance!=&amp;quot;Anarchy&amp;quot;){emit(this.allegiance,this.population);}},function(k,v){return Array.sum(v);},{out:{inline:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Harder Questions==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot; data-switches=&#039;elite&#039;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
How much Hydrogen Fuel is owned by each faction?  Limit your query to the first 5000 stations.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;hint&amp;quot;&amp;gt;&lt;br /&gt;
The amount of stations in a system &amp;lt;b&amp;gt;and&amp;lt;/b&amp;gt; the amount of listings to a station aren&#039;t fixed. &amp;lt;code&amp;gt;query&amp;lt;/code&amp;gt; can be used to ensure that they exist.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.systems.mapReduce(&lt;br /&gt;
  function(){&lt;br /&gt;
    emit(1, 1);&lt;br /&gt;
  },&lt;br /&gt;
  function(k, v){&lt;br /&gt;
    return Array.sum(v);&lt;br /&gt;
  },&lt;br /&gt;
  {out: {inline: 1}}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.systems.mapReduce(function(){if(this.stations)for(let i=0;i&amp;lt;this.stations.length;i++){let t=this.stations[i];if(t.listings&amp;amp;&amp;amp;t.allegiance)for(let s=0;s&amp;lt;t.listings.length;s++){let n=t.listings[s];&amp;quot;Hydrogen Fuel&amp;quot;===n.commodity&amp;amp;&amp;amp;emit(t.allegiance,n.supply)}}},function(i,t){return Array.sum(t)},{out:{inline:1},limit:5e3});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot; data-switches=&#039;elite&#039;&amp;gt;A &amp;lt;code&amp;gt;power_control_faction&amp;lt;/code&amp;gt; or &amp;lt;b&amp;gt;Power&amp;lt;/b&amp;gt; is an individual or organisation who is in control of a system.&amp;lt;br/&amp;gt;&lt;br /&gt;
These powers have allegiance to a faction, but the systems they control do not nescessarily have the same allegiance that they do.&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Example&amp;quot;&amp;gt; At the time of writing &amp;lt;b&amp;gt;Zemina Torval&amp;lt;/b&amp;gt; is allied with the &amp;lt;b&amp;gt;Empire&amp;lt;/b&amp;gt; and controls &amp;lt;b&amp;gt;47&amp;lt;/b&amp;gt; systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    {   &#039;_id&#039;: &#039;Zemina Torval&#039;,&lt;br /&gt;
        &#039;value&#039;: {   &#039;Alliance&#039;: 0.0,&lt;br /&gt;
                     &#039;Anarchy&#039;: 0.0,&lt;br /&gt;
                     &#039;Empire&#039;: 39.0,&lt;br /&gt;
                     &#039;Federation&#039;: 3.0,&lt;br /&gt;
                     &#039;Independent&#039;: 5.0}}]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the allegiance of each of the power&#039;s systems&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.systems.mapReduce(&lt;br /&gt;
  function(){&lt;br /&gt;
    emit(1, 1);&lt;br /&gt;
  },&lt;br /&gt;
  function(k,v){&lt;br /&gt;
    return Array.sum(v);&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    query: {&amp;quot;power_control_faction&amp;quot;: {&amp;quot;$exists&amp;quot;: 1}},&lt;br /&gt;
    out: {inline: 1}&lt;br /&gt;
  }&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.systems.mapReduce(function(){emit(this.power_control_faction,{[this.allegiance]:1});},function(_,v){let a={&amp;quot;Alliance&amp;quot;:0,&amp;quot;Anarchy&amp;quot;:0,&amp;quot;Empire&amp;quot;:0,&amp;quot;Federation&amp;quot;:0,&amp;quot;Independent&amp;quot;:0};for(let i=0;i&amp;lt;v.length;i++){let b=v[i];a.Alliance+=b.Alliance||0;a.Anarchy+=b.Anarchy||0;a.Empire+=b.Empire||0;a.Federation+=b.Federation||0;a.Independent+=b.Independent||0;}return a;},{out:{&amp;quot;inline&amp;quot;:1},query:{&amp;quot;power_control_faction&amp;quot;:{&amp;quot;$exists&amp;quot;:1}},sort:{&amp;quot;_id&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot; data-switches=&#039;elite&#039;&amp;gt;Our dataset doesn&#039;t contain the allegiance of a power:&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Using the result from the previous question, guess the power&#039;s allegiance by the faction that the majority of their systems follow.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;To achieve this, you&#039;ll need to use the &amp;lt;code&amp;gt;finalize: function(k, v){}&amp;lt;/code&amp;gt; in the third argument to find the key with the largest value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;_id&amp;quot; : &amp;quot;Zemina Torval&amp;quot;,&lt;br /&gt;
    &amp;quot;value&amp;quot; : &amp;quot;Empire&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.systems.mapReduce(&lt;br /&gt;
  function(){&lt;br /&gt;
    emit(1, 1);&lt;br /&gt;
  },&lt;br /&gt;
  function(k, v){&lt;br /&gt;
    return Array.sum(v);&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    finally: function(k, v){&lt;br /&gt;
      return v;&lt;br /&gt;
    },&lt;br /&gt;
    query: {&amp;quot;power_control_faction&amp;quot;: {&amp;quot;$exists&amp;quot;: 1}},&lt;br /&gt;
    out: {inline: 1}&lt;br /&gt;
  }&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.systems.mapReduce(function(){emit(this.power_control_faction,{[this.allegiance]:1});},function(k,v){let a={&amp;quot;Alliance&amp;quot;:0,&amp;quot;Anarchy&amp;quot;:0,&amp;quot;Empire&amp;quot;:0,&amp;quot;Federation&amp;quot;:0,&amp;quot;Independent&amp;quot;:0};for(let i=0;i&amp;lt;v.length;i++){let b=v[i];a.Alliance+=b.Alliance||0;a.Anarchy+=b.Anarchy||0;a.Empire+=b.Empire||0;a.Federation+=b.Federation||0;a.Independent+=b.Independent||0;}return a;},{finalize:function(k,v){return Object.keys(v).reduce((a,b)=&amp;gt;v[a]&amp;gt;v[b]?a:b);},out:{&amp;quot;inline&amp;quot;:1},query:{&amp;quot;power_control_faction&amp;quot;:{&amp;quot;$exists&amp;quot;:1}},sort:{&amp;quot;_id&amp;quot;:1}});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1330</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1330"/>
		<updated>2018-10-17T13:37:43Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Tutorials: Learn NoSQL in stages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. (extra: [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]])&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE Examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND Examples]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=AGGREGATE_examples&amp;diff=1329</id>
		<title>AGGREGATE examples</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=AGGREGATE_examples&amp;diff=1329"/>
		<updated>2018-10-17T13:31:13Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducing the aggregation framework==&lt;br /&gt;
These examples introduce the aggregation framework and its operators. Again we will be using the &#039;&#039;&#039;world&#039;&#039;&#039; collection.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;$match&#039;&#039;&#039; performs queries in a similar way to &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show all the details for France&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {name: &amp;quot;France&amp;quot;}}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{name:&amp;quot;France&amp;quot;}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&#039;&#039;&#039;$limit&#039;&#039;&#039; sets the amount of documents to be handed to the next stage in the pipeline.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Return the first document&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$limit: 1}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$limit&amp;quot;:1}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;$project&#039;&#039;&#039; selects what fields to display.&amp;lt;br/&amp;gt;&lt;br /&gt;
It can also has the ability to create new fields and to compare fields against each other without using &#039;&#039;&#039;$where&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and population density of all Asian countries. (population/area)&amp;lt;/p&amp;gt;&lt;br /&gt;
Note that &amp;quot;density&amp;quot; is a new field made from the result of dividing two existing fields, and that &#039;&#039;&#039;$divide&#039;&#039;&#039; is an aggregate function.&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Dealing with division by 0&amp;quot;&amp;gt;&lt;br /&gt;
To avoid diving by 0 insert a &#039;&#039;&#039;$match&#039;&#039;&#039; to remove any countries with no area (Vatican City), then pipe these results through to &#039;&#039;&#039;$project&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
There is no need to check if values are &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;null&amp;lt;/syntaxhighlight&amp;gt;, MongoDB will ignore these documents.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {area: {$ne: 0}, continent: &amp;quot;Asia&amp;quot;}},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        density: {$divide: [&amp;quot;$population&amp;quot;, &amp;quot;$area&amp;quot;]}&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0},&amp;quot;continent&amp;quot;:&amp;quot;Asia&amp;quot;}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;density&amp;quot;:{&amp;quot;$divide&amp;quot;:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Because aggregate is a pipeline stages may be repeated, and stages don&#039;t have to be used in a specific order.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name of Asian countries with a density that&#039;s over 500 people per km&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;. (population/area)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
   {$match: {area: {$ne: 0}, continent: &amp;quot;Asia&amp;quot;}},&lt;br /&gt;
   {$project: {&lt;br /&gt;
       _id: 0,&lt;br /&gt;
       name: 1,&lt;br /&gt;
       density: {$divide: [&amp;quot;$population&amp;quot;, &amp;quot;$area&amp;quot;]}&lt;br /&gt;
   }},&lt;br /&gt;
   {$match: {density: {$gt: 500}}}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0},&amp;quot;continent&amp;quot;:&amp;quot;Asia&amp;quot;}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;density&amp;quot;:{&amp;quot;$divide&amp;quot;:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}},{&amp;quot;$match&amp;quot;:{&amp;quot;density&amp;quot;:{&amp;quot;$gt&amp;quot;:500}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;$sort&#039;&#039;&#039; allows ordering of the results set, where 1 is ascending and -1 is descending.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that not including &#039;&#039;&#039;$match&#039;&#039;&#039; is the same as &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;{&amp;quot;$match&amp;quot;:{}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name of all countries in descending order.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {&amp;quot;$project&amp;quot;:{&lt;br /&gt;
        &amp;quot;_id&amp;quot;:0,&lt;br /&gt;
        &amp;quot;name&amp;quot;:1,&lt;br /&gt;
    }},&lt;br /&gt;
    {&amp;quot;$sort&amp;quot;:{&lt;br /&gt;
        &amp;quot;name&amp;quot;:-1&lt;br /&gt;
    }}  &lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,}},{&amp;quot;$sort&amp;quot;:{&amp;quot;name&amp;quot;:-1}}])&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Grouping==&lt;br /&gt;
Grouping provides accumulator operations such as &#039;&#039;&#039;$sum&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
All groups must have an &#039;&#039;&#039;_id&#039;&#039;&#039;. To see why this is useful imagine the following:&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So far you&#039;ve been using the &#039;&#039;&#039;world&#039;&#039;&#039; collection&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
As every country has a continent, it would make sense to have countries as a nested document inside continents: e.g:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
[    &lt;br /&gt;
    {&amp;quot;name&amp;quot;: &amp;quot;Africa&amp;quot;,&lt;br /&gt;
     &amp;quot;countries&amp;quot;: [&lt;br /&gt;
         {&amp;quot;name&amp;quot;: &amp;quot;Algeria&amp;quot;,     &amp;quot;capital&amp;quot;: &amp;quot;Algiers&amp;quot;,    ...},&lt;br /&gt;
         {&amp;quot;name&amp;quot;: &amp;quot;Angola&amp;quot;,      &amp;quot;capital&amp;quot;: &amp;quot;Luanda&amp;quot;,     ...},&lt;br /&gt;
         {&amp;quot;name&amp;quot;: &amp;quot;Benin&amp;quot;,       &amp;quot;capital&amp;quot;: &amp;quot;Porto-Novo&amp;quot;, ...}.&lt;br /&gt;
         {...},&lt;br /&gt;
         ...&lt;br /&gt;
    ]},&lt;br /&gt;
    {&amp;quot;name&amp;quot;: &amp;quot;Asia&amp;quot;,&lt;br /&gt;
     &amp;quot;countries&amp;quot;: [&lt;br /&gt;
         {&amp;quot;name&amp;quot;: &amp;quot;Afghanistan&amp;quot;, &amp;quot;capital&amp;quot;: &amp;quot;Kabul&amp;quot;,  ...},&lt;br /&gt;
         {&amp;quot;name&amp;quot;: &amp;quot;Azerbaijan&amp;quot;,  &amp;quot;capital&amp;quot;: &amp;quot;Baku&amp;quot;,   ...},&lt;br /&gt;
         {&amp;quot;name&amp;quot;: &amp;quot;Bahrain&amp;quot;,     &amp;quot;capital&amp;quot;: &amp;quot;Manama&amp;quot;, ...},&lt;br /&gt;
         {...},&lt;br /&gt;
         ...&lt;br /&gt;
    ]},&lt;br /&gt;
    {...},&lt;br /&gt;
    ...&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;world&#039;&#039;&#039; collection isn&#039;t like this however. It uses the following structure, which has a redundancy where &#039;&#039;&#039;continent&#039;&#039;&#039; is repeated for each country.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
[ &lt;br /&gt;
    {&amp;quot;name&amp;quot;: &amp;quot;Afghanistan&amp;quot;, &amp;quot;capital&amp;quot;: &amp;quot;Kabul&amp;quot;,   &amp;quot;continent&amp;quot;: &amp;quot;Asia&amp;quot;,   ...},&lt;br /&gt;
    {&amp;quot;name&amp;quot;: &amp;quot;Albania&amp;quot;,     &amp;quot;capital&amp;quot;: &amp;quot;Tirana&amp;quot;,  &amp;quot;continent&amp;quot;: &amp;quot;Europe&amp;quot;,  ...},&lt;br /&gt;
    {&amp;quot;name&amp;quot;: &amp;quot;Algeria&amp;quot;,     &amp;quot;capital&amp;quot;: &amp;quot;Algiers&amp;quot;, &amp;quot;contiennt&amp;quot;: &amp;quot;Africa&amp;quot;, ...},&lt;br /&gt;
    {...},&lt;br /&gt;
    ...&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The code to group by continent is &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;quot;_id&amp;quot;:&amp;quot;$continent&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt; &lt;br /&gt;
If instead the question was to group by country the code would be &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;quot;_id&amp;quot;: &amp;quot;$name&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
To operate over the whole document (which would have the same effect as &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;quot;_id&amp;quot;: &amp;quot;$name&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;) &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;quot;_id&amp;quot;: &amp;quot;null&amp;quot;&amp;lt;/syntaxhighlight&amp;gt; or &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;quot;_id&amp;quot;: None&amp;lt;/syntaxhighlight&amp;gt; can be used.&lt;br /&gt;
==group operators==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;$max&#039;&#039;&#039; and &#039;&#039;&#039;$min&#039;&#039;&#039; can be used to get the largest and smallest values in a group.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Get the smallest and largest GDPs of each continent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$group: {&lt;br /&gt;
        _id: &#039;$continent&#039;,&lt;br /&gt;
        min: {$min: &amp;quot;$gdp&amp;quot;},&lt;br /&gt;
        max: {$max: &amp;quot;$gdp&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 1,&lt;br /&gt;
        min: 1,&lt;br /&gt;
        max: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$group&amp;quot;:{&#039;_id&#039;:&#039;$continent&#039;,&#039;min&#039;:{&amp;quot;$min&amp;quot;:&amp;quot;$gdp&amp;quot;},&#039;max&#039;:{&amp;quot;$max&amp;quot;:&amp;quot;$gdp&amp;quot;}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:1,&amp;quot;min&amp;quot;:1,&amp;quot;max&amp;quot;:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Some other useful aggregate functions to know are &#039;&#039;&#039;$sum&#039;&#039;&#039; and average: &#039;&#039;&#039;$avg&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The example below  combines previous example material.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Order the continents in descending order by total GDP, Include the average GDP for each country.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {}},&lt;br /&gt;
    {$group: {&lt;br /&gt;
        _id:&amp;quot;$continent&amp;quot;,&lt;br /&gt;
        &amp;quot;Total GDP&amp;quot;: {&amp;quot;$sum&amp;quot;: &amp;quot;$gdp&amp;quot;},&lt;br /&gt;
        &amp;quot;Average GDP&amp;quot;: {&amp;quot;$avg&amp;quot;: &amp;quot;$gdp&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$sort: {&lt;br /&gt;
        &amp;quot;Total GDP&amp;quot;:-1&lt;br /&gt;
    }},&lt;br /&gt;
    {$project:{&lt;br /&gt;
        &amp;quot;Area&amp;quot;: &amp;quot;$_id&amp;quot;,&lt;br /&gt;
        &amp;quot;Total GDP&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;Average GDP&amp;quot;: 1,&lt;br /&gt;
        _id: 0&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$group&amp;quot;:{&amp;quot;_id&amp;quot;:&amp;quot;$continent&amp;quot;,&amp;quot;Total GDP&amp;quot;:{&amp;quot;$sum&amp;quot;:&amp;quot;$gdp&amp;quot;},&amp;quot;Average GDP&amp;quot;:{&amp;quot;$avg&amp;quot;:&amp;quot;$gdp&amp;quot;}}},{&amp;quot;$sort&amp;quot;:{&amp;quot;Total GDP&amp;quot;:-1}},{&amp;quot;$project&amp;quot;:{&amp;quot;Area&amp;quot;:&amp;quot;$_id&amp;quot;,&amp;quot;Total GDP&amp;quot;:1,&amp;quot;Average GDP&amp;quot;:1,&amp;quot;_id&amp;quot;:0}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Using Conditions&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;$cond&#039;&#039;&#039; is similar to a &#039;&#039;&#039;CASE&#039;&#039;&#039; statement in other languages.&amp;lt;br/&amp;gt;&lt;br /&gt;
It has the form &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;quot;$cond&amp;quot;: [{&amp;lt;comparison&amp;gt;: [&amp;lt;field or value&amp;gt;, &amp;lt;field or value&amp;gt;]}, &amp;lt;true case&amp;gt;, &amp;lt;false case&amp;gt;]&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$group: {&lt;br /&gt;
        _id: {&lt;br /&gt;
            $cond: [{&amp;quot;$eq&amp;quot;: [&amp;quot;$continent&amp;quot;, &amp;quot;Eurasia&amp;quot;]}, &amp;quot;Europe&amp;quot;, &amp;quot;$continent&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        area: {$sum: &amp;quot;$area&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$sort: {&lt;br /&gt;
        area: -1&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 1,&lt;br /&gt;
        area: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=AGGREGATE_Movies_Tutorial&amp;diff=1328</id>
		<title>AGGREGATE Movies Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=AGGREGATE_Movies_Tutorial&amp;diff=1328"/>
		<updated>2018-10-17T13:17:08Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Dark Years */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Investigating the Movie Database==&lt;br /&gt;
The movie database includes thousands of movies with documents such as:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     &amp;quot;_id&amp;quot; : 10522,&lt;br /&gt;
     &amp;quot;title&amp;quot; : &amp;quot;Alien&amp;quot;,&lt;br /&gt;
     &amp;quot;yr&amp;quot; : 1979,&lt;br /&gt;
     &amp;quot;director&amp;quot; : &amp;quot;Ridley Scott&amp;quot;,&lt;br /&gt;
     &amp;quot;budget&amp;quot; : 11000000,&lt;br /&gt;
     &amp;quot;gross&amp;quot; : 104931801,&lt;br /&gt;
     &amp;quot;cast&amp;quot; : [&lt;br /&gt;
         &amp;quot;Tom Skerritt&amp;quot;,&lt;br /&gt;
         &amp;quot;Sigourney Weaver&amp;quot;,&lt;br /&gt;
         &amp;quot;Veronica Cartwright&amp;quot;,&lt;br /&gt;
         &amp;quot;Harry Dean Stanton&amp;quot;,&lt;br /&gt;
         &amp;quot;John Hurt&amp;quot;,&lt;br /&gt;
         &amp;quot;Ian Holm&amp;quot;,&lt;br /&gt;
         &amp;quot;Yaphet Kotto&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Casablanca==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the details of the movie Casablanca.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([{&lt;br /&gt;
    $match: {&lt;br /&gt;
        title: &#039;Alien&#039;&lt;br /&gt;
    }&lt;br /&gt;
}]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.movies.aggregate([{$match:{title:&#039;Casablanca&#039;}}]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tom Hanks==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use the match operator on listed items like cast. As there is an index on cast these queries operate quickly and do not have to scan the entire collection.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the title and year of the 10 most recent Tom Hanks movies - show the most recent first.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        cast: &#039;Harrison Ford&#039;&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {_id: 0, title: 1}}&lt;br /&gt;
]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;db.movies.aggregate([{$match:{cast:&#039;Tom Hanks&#039;}},{$project:{title:1,yr:1,_id:0}},{$sort:{yr:-1}},{$limit:10}]).pretty()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brad and George==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the movies that included Brad Pitt and George Clooney. Give the title and year ordered by year&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        cast: &#039;Harrison Ford&#039;&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {_id: 0, title: 1}}&lt;br /&gt;
]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;db.movies.aggregate([{$match:{cast:&#039;Brad Pitt&#039;}},{$match:{cast:&#039;George Clooney&#039;}},{$project:{_id:0,title:1,yr:1}},{$sort:{yr:1}}]).pretty()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dark Years==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
A &amp;quot;Dark Year&amp;quot; is one in which &#039;&#039;&#039;Jack Black&#039;&#039;&#039; made more than two movies.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;List the years in which Jack Black made three or more movies.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot;&amp;gt;&lt;br /&gt;
One way to do this is to set up an aggregate pipeline with the following stages. You can build up to your answer by completing each stage in turn:&lt;br /&gt;
*Use &#039;&#039;&#039;$match&#039;&#039;&#039; to select the &#039;&#039;&#039;Jack Black&#039;&#039;&#039; movies - this will include howlers such as &amp;quot;&#039;&#039;&#039;Anchorman: The Legend of Ron Burgundy&#039;&#039;&#039;&amp;quot; (2004) and &amp;quot;&#039;&#039;&#039;School of Rock&#039;&#039;&#039;&amp;quot; (2003).&lt;br /&gt;
*Use &#039;&#039;&#039;$group&#039;&#039;&#039; together with &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;$sum: 1&amp;lt;/syntaxhighlight&amp;gt; to get the years together with a count, you will have to name the count field&lt;br /&gt;
*Use &#039;&#039;&#039;$match&#039;&#039;&#039; to get those where the count is &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;$gte: 3&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
*Use &#039;&#039;&#039;$project&#039;&#039;&#039; to extract the year only.&lt;br /&gt;
*Use &#039;&#039;&#039;$sort&#039;&#039;&#039; to get the output in ascending order.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        cast: &#039;Harrison Ford&#039;&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {_id: 0, title: 1}}&lt;br /&gt;
]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.movies.aggregate([{$match:{cast:&#039;Jack Black&#039;}},{$group:{_id:&#039;$yr&#039;,num:{$sum:1}}},{$match:{num:{$gte:3}}},{$project:{_id:1}},{$sort:{_id:1}}]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Find&amp;diff=1327</id>
		<title>Find</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Find&amp;diff=1327"/>
		<updated>2018-10-17T13:14:39Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TopTenTips}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; is used to filter and project.&amp;lt;br/&amp;gt;&lt;br /&gt;
By default &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find()&amp;lt;/syntaxhighlight&amp;gt; returns a cursor containing all the documents in the collection it is used on. This is the same as &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find({})&amp;lt;/syntaxhighlight&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
To get all the documents with a certain value, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find(&amp;lt;field&amp;gt;:{&amp;quot;$eq&amp;quot;: &amp;lt;value&amp;gt;}})&amp;lt;/syntaxhighlight&amp;gt; can be used, this can be simplified to &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;find(&amp;lt;field&amp;gt;: &amp;lt;value&amp;gt;})&amp;lt;/syntaxhighlight&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;$eq&#039;&#039;&#039; can be replaced with other conditional operators such as &#039;&#039;&#039;$lt&#039;&#039;&#039;, &#039;&#039;&#039;$gt&#039;&#039;&#039; to perform less than or greater than comparisons.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
To query nested documents, [http://docs.mongodb.org/manual/core/document/#document-dot-notation dot notation] can be used, e.g. &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;parent.child.field&amp;lt;/syntaxhighlight&amp;gt;.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The second parameter selects what fields to include.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the second parameter is not present the default action is to include all the fields in the result documents.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
To hide a field, &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;lt;field&amp;gt;: 0&amp;lt;/syntaxhighlight&amp;gt; is used. The other fields won&#039;t be removed.&amp;lt;br/&amp;gt;&lt;br /&gt;
Using &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;&amp;lt;field&amp;gt;: 1&amp;lt;/syntaxhighlight&amp;gt; will include that field and hide all the others except the &#039;&#039;&#039;_id&#039;&#039;&#039; and other fields set to &#039;&#039;&#039;1&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Passing an empty (&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;{}&amp;lt;/syntaxhighlight&amp;gt;) second parameter hides all fields except the &#039;&#039;&#039;_id&#039;&#039;&#039; field, to hide &#039;&#039;&#039;_id&#039;&#039;&#039; it has to be explicitly set to &#039;&#039;&#039;0&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;.findOne()&amp;lt;/syntaxhighlight&amp;gt; limits the result to one document and also applies the &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot; inline&amp;gt;.pretty()&amp;lt;/syntaxhighlight&amp;gt; operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the name and capital for every country of &amp;quot;South America&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {continent: &amp;quot;South America&amp;quot;},&lt;br /&gt;
  {&amp;quot;_id&amp;quot;: 0, name: 1, capital: 1}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=AGGREGATE_Movies_Tutorial&amp;diff=1326</id>
		<title>AGGREGATE Movies Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=AGGREGATE_Movies_Tutorial&amp;diff=1326"/>
		<updated>2018-10-17T13:07:50Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Investigating the Movie Database==&lt;br /&gt;
The movie database includes thousands of movies with documents such as:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     &amp;quot;_id&amp;quot; : 10522,&lt;br /&gt;
     &amp;quot;title&amp;quot; : &amp;quot;Alien&amp;quot;,&lt;br /&gt;
     &amp;quot;yr&amp;quot; : 1979,&lt;br /&gt;
     &amp;quot;director&amp;quot; : &amp;quot;Ridley Scott&amp;quot;,&lt;br /&gt;
     &amp;quot;budget&amp;quot; : 11000000,&lt;br /&gt;
     &amp;quot;gross&amp;quot; : 104931801,&lt;br /&gt;
     &amp;quot;cast&amp;quot; : [&lt;br /&gt;
         &amp;quot;Tom Skerritt&amp;quot;,&lt;br /&gt;
         &amp;quot;Sigourney Weaver&amp;quot;,&lt;br /&gt;
         &amp;quot;Veronica Cartwright&amp;quot;,&lt;br /&gt;
         &amp;quot;Harry Dean Stanton&amp;quot;,&lt;br /&gt;
         &amp;quot;John Hurt&amp;quot;,&lt;br /&gt;
         &amp;quot;Ian Holm&amp;quot;,&lt;br /&gt;
         &amp;quot;Yaphet Kotto&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Casablanca==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the details of the movie Casablanca.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([{&lt;br /&gt;
    $match: {&lt;br /&gt;
        title: &#039;Alien&#039;&lt;br /&gt;
    }&lt;br /&gt;
}]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.movies.aggregate([{$match:{title:&#039;Casablanca&#039;}}]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tom Hanks==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use the match operator on listed items like cast. As there is an index on cast these queries operate quickly and do not have to scan the entire collection.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the title and year of the 10 most recent Tom Hanks movies - show the most recent first.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        cast: &#039;Harrison Ford&#039;&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {_id: 0, title: 1}}&lt;br /&gt;
]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;db.movies.aggregate([{$match:{cast:&#039;Tom Hanks&#039;}},{$project:{title:1,yr:1,_id:0}},{$sort:{yr:-1}},{$limit:10}]).pretty()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brad and George==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;Show the movies that included Brad Pitt and George Clooney. Give the title and year ordered by year&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        cast: &#039;Harrison Ford&#039;&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {_id: 0, title: 1}}&lt;br /&gt;
]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;db.movies.aggregate([{$match:{cast:&#039;Brad Pitt&#039;}},{$match:{cast:&#039;George Clooney&#039;}},{$project:{_id:0,title:1,yr:1}},{$sort:{yr:1}}]).pretty()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dark Years==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
A &amp;quot;Dark Year&amp;quot; is one in which &#039;&#039;&#039;Jack Black&#039;&#039;&#039; made more than two movies.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;List the years in which Jack Black made three or more movies.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot;&amp;gt;&lt;br /&gt;
One way to do this is to set up an aggregate pipeline with the following stages. You can build up to your answer by completing each stage in turn:&lt;br /&gt;
*Use &amp;lt;code&amp;gt;$match&amp;lt;/code&amp;gt; to select the &#039;&#039;&#039;Jack Black&#039;&#039;&#039; movies - this will include howlers such as &amp;quot;&#039;&#039;&#039;Anchorman: The Legend of Ron Burgundy&#039;&#039;&#039;&amp;quot; (2004) and &amp;quot;&#039;&#039;&#039;School of Rock&#039;&#039;&#039;&amp;quot; (2003).&lt;br /&gt;
*Use &amp;lt;code&amp;gt;$group&amp;lt;/code&amp;gt; together with &amp;lt;code&amp;gt;$sum: 1&amp;lt;/code&amp;gt; to get the years together with a count, you will have to name the count field&lt;br /&gt;
*Use &amp;lt;code&amp;gt;$match&amp;lt;/code&amp;gt; to get those where the count is &amp;lt;code&amp;gt;$gte: 3&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Use &amp;lt;code&amp;gt;$project&amp;lt;/code&amp;gt; to extract the year only.&lt;br /&gt;
*Use &amp;lt;code&amp;gt;$sort&amp;lt;/code&amp;gt; to get the output in ascending order.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.movies.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        cast: &#039;Harrison Ford&#039;&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {_id: 0, title: 1}}&lt;br /&gt;
]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.movies.aggregate([{$match:{cast:&#039;Jack Black&#039;}},{$group:{_id:&#039;$yr&#039;,num:{$sum:1}}},{$match:{num:{$gte:3}}},{$project:{_id:1}},{$sort:{_id:1}}]).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1325</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1325"/>
		<updated>2018-10-17T13:06:34Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Tutorials: Learn NoSQL in stages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. &lt;br /&gt;
; 3 [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]]:More aggregation questions.&lt;br /&gt;
; 4 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 5 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 6 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE Examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND Examples]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=AGGREGATE_Tutorial&amp;diff=1324</id>
		<title>AGGREGATE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=AGGREGATE_Tutorial&amp;diff=1324"/>
		<updated>2018-10-17T13:05:35Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Countries beginning with... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Country Profile==&lt;br /&gt;
For these questions you should use &amp;lt;code&amp;gt;aggregate([])&amp;lt;/code&amp;gt; on the collection &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may find these [[AGGREGATE examples]] useful.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Per Capita GDP==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Give the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;per capita GDP&amp;lt;/code&amp;gt; for those countries with a &amp;lt;code&amp;gt;population&amp;lt;/code&amp;gt; of at least 200 million.&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to calculate per capita GDP&amp;quot;&amp;gt;&lt;br /&gt;
per capita GDP is the GDP divided by the population.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        population: {$gte: 250000000}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        &amp;quot;per capita GDP&amp;quot;: {$divide: [&#039;$gdp&#039;, 1000000]}&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;population&amp;quot;:{&amp;quot;$gte&amp;quot;:200000000}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;per capita GDP&amp;quot;: {&amp;quot;$divide&amp;quot;: [&amp;quot;$gdp&amp;quot;,&amp;quot;$population&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Population Density in South America==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Give the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;population density&amp;lt;/code&amp;gt; of all countries in South America.&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to calculate population density&amp;quot;&amp;gt;&lt;br /&gt;
population density is the population divided by the area&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Division by 0 error?&amp;quot;&amp;gt;&lt;br /&gt;
Use a &amp;lt;code&amp;gt;$match&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {continent: &#039;Asia&#039;}},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        density: {$divide: [&amp;quot;$population&amp;quot;, &amp;quot;$area&amp;quot;]}&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{continent:&#039;South America&#039;}},{$project:{_id:0,name:1,density:{$divide:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Population Density for &amp;quot;V&amp;quot;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Give the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;population density&amp;lt;/code&amp;gt; of all countries with name after V in the alphabet.&lt;br /&gt;
&amp;lt;p&amp;gt;Note that because Vatican City (with area 0) is in Europe you will get a divide by zero error unless you filter first.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Division by 0 error?&amp;quot;&amp;gt;&lt;br /&gt;
Use a &amp;lt;code&amp;gt;$match&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  $match: {&lt;br /&gt;
    area: {&lt;br /&gt;
      &amp;quot;$ne&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {name: {$gt: &#039;V&#039;}}},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        area: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{name:{$gt:&#039;V&#039;}}},{$match:{area:{&amp;quot;$ne&amp;quot;:0}}},{$project:{_id:0,name:1,density:{$divide:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Population in millions==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;population&amp;lt;/code&amp;gt; in millions for the countries of the continent &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt;. Divide the population by 1000000 to get population in millions. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match:{&lt;br /&gt;
&lt;br /&gt;
    }},&lt;br /&gt;
    {$project:{&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;continent&amp;quot;:{&amp;quot;$eq&amp;quot;:&amp;quot;South America&amp;quot;}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;population&amp;quot;:{&amp;quot;$divide&amp;quot;:[&amp;quot;$population&amp;quot;,1000000]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Population density==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;population density&amp;lt;/code&amp;gt; for &amp;lt;b&amp;gt;France&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Germany&amp;lt;/b&amp;gt;, and &amp;lt;b&amp;gt;Italy&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match:{&lt;br /&gt;
        name: {$in: [&#039;United Kingdom&#039;, &#039;United States&#039;, &#039;Brazil&#039;]},&lt;br /&gt;
        population: {$ne: null},&lt;br /&gt;
        area: {$ne: 0}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project:{&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;name&amp;quot;:{&amp;quot;$in&amp;quot;:[&#039;France&#039;,&#039;Germany&#039;,&#039;Italy&#039;]},&amp;quot;population&amp;quot;:{&amp;quot;$ne&amp;quot;:null},&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;population density&amp;quot;:{&amp;quot;$divide&amp;quot;:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Continents by area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Order the &amp;lt;code&amp;gt;continents&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;area&amp;lt;/code&amp;gt; from most to least.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$group: {&lt;br /&gt;
        _id: &amp;quot;$name&amp;quot;,&lt;br /&gt;
        area: {$max: &amp;quot;$area&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$sort: {&lt;br /&gt;
        area: -1&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 1,&lt;br /&gt;
        area: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$group&amp;quot;:{&amp;quot;_id&amp;quot;:&amp;quot;$continent&amp;quot;,&amp;quot;area&amp;quot;:{&amp;quot;$sum&amp;quot;:&amp;quot;$area&amp;quot;}}},{&amp;quot;$sort&amp;quot;:{&amp;quot;area&amp;quot;:-1}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:1,&amp;quot;area&amp;quot;:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Big Continents==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the only two continents with total area greater than 25000000 and then sort from largest to smallest.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$match: {&lt;br /&gt;
      continent: &amp;quot;North America&amp;quot;&lt;br /&gt;
  }},&lt;br /&gt;
  {$project: {&lt;br /&gt;
      _id: 0,&lt;br /&gt;
      name: 1&lt;br /&gt;
  }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$group:{_id:&amp;quot;$continent&amp;quot;,area:{$sum:&amp;quot;$area&amp;quot;}}},{$sort:{area:-1}},{$match:{area:{$gt:25000000}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==First and last country by continent==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
For each continent show the first and last country alphabetically like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;gt;&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Africa&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Algeria&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Zimbabwe&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Asia&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Afghanistan&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Yemen&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Caribbean&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Antigua and Barbuda&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Trinidad and Tobago&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Eurasia&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Armenia&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Russia&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Europe&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Albania&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Vatican City&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;North America&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Belize&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;United States&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Oceania&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Australia&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Vanuatu&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;South America&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Argentina&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Venezuela&amp;quot; }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$group: {&lt;br /&gt;
      _id: &amp;quot;$continent&amp;quot;&lt;br /&gt;
  }},&lt;br /&gt;
  {$sort: {&lt;br /&gt;
      _id: 1&lt;br /&gt;
  }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$sort:{name:1}},{$group:{_id:&#039;$continent&#039;,from:{$first:&#039;$name&#039;},to:{$last:&#039;$name&#039;}},},{$sort:{_id:1}}])&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Countries beginning with...==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Group countries according to the first letter of the name. As shown.&lt;br /&gt;
Only give &amp;quot;U&amp;quot; through to &amp;quot;Z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You will need to use the &#039;&#039;&#039;$substr&#039;&#039;&#039; function and the &#039;&#039;&#039;$push&#039;&#039;&#039; aggregate function.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;U&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Uganda&amp;quot;, &amp;quot;Ukraine&amp;quot;, &amp;quot;United Arab Emirates&amp;quot;, &amp;quot;United Kingdom&amp;quot;, &amp;quot;United States&amp;quot;, &amp;quot;Uruguay&amp;quot;, &amp;quot;Uzbekistan&amp;quot; ] }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;V&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Vanuatu&amp;quot;, &amp;quot;Vatican City&amp;quot;, &amp;quot;Venezuela&amp;quot;, &amp;quot;Vietnam&amp;quot; ] }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Y&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Yemen&amp;quot; ] }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Z&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Zambia&amp;quot;, &amp;quot;Zimbabwe&amp;quot; ] }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$project: {&lt;br /&gt;
    _id: &#039;$name&#039;,&lt;br /&gt;
    startsWith: {$substr: [&#039;$name&#039;, 0, 1]}&lt;br /&gt;
  }},&lt;br /&gt;
  {$match: {&lt;br /&gt;
    _id: {$gte: &#039;U&#039;}&lt;br /&gt;
  }},&lt;br /&gt;
  {$sort: {_id: 1}}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$group:{_id:{$substr:[&#039;$name&#039;,0,1]},list:{$push:&#039;$name&#039;}}},{$match:{_id:{$gte:&#039;U&#039;}}},{$sort:{_id:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Harder Questions==&lt;br /&gt;
==Messing with continent names==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Combine &amp;lt;b&amp;gt;North America&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt; to &amp;lt;b&amp;gt;America&amp;lt;/b&amp;gt;, and then list the continents by area. Biggest first.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$group: {&lt;br /&gt;
    _id: {&lt;br /&gt;
      $cond: [&lt;br /&gt;
        {$eq: [&amp;quot;$continent&amp;quot;, &amp;quot;North America&amp;quot;]},&lt;br /&gt;
        &amp;quot;America&amp;quot;,&lt;br /&gt;
        {$cond: [&lt;br /&gt;
          {$eq: [&amp;quot;$continent&amp;quot;, &amp;quot;Asia&amp;quot;]},&lt;br /&gt;
          &amp;quot;The East&amp;quot;,&lt;br /&gt;
          &amp;quot;$continent&amp;quot;&lt;br /&gt;
        ]}&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    area: {$sum: &amp;quot;$area&amp;quot;}&lt;br /&gt;
  }},&lt;br /&gt;
  {$sort: {area: -1}},&lt;br /&gt;
  {$project: {&lt;br /&gt;
    _id: 1,&lt;br /&gt;
    area: 1&lt;br /&gt;
  }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$group&amp;quot;:{&amp;quot;_id&amp;quot;:{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;South America&amp;quot;]},&amp;quot;America&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;North America&amp;quot;]},&amp;quot;America&amp;quot;,&amp;quot;$continent&amp;quot;]}]},&amp;quot;area&amp;quot;:{&amp;quot;$sum&amp;quot;:&amp;quot;$area&amp;quot;}}},{&amp;quot;$sort&amp;quot;:{&amp;quot;area&amp;quot;:-1}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:1,&amp;quot;area&amp;quot;:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Messing with continent names 2==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; and the &amp;lt;b&amp;gt;continent&amp;lt;/b&amp;gt; for countries beginning with N - but replace the continent &amp;lt;b&amp;gt;Oceania&amp;lt;/b&amp;gt; with &amp;lt;b&amp;gt;Australasia&amp;lt;/b&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        name: {$regex: &amp;quot;^N&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;name&amp;quot;:{&amp;quot;$regex&amp;quot;:&amp;quot;^N&amp;quot;}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;continent&amp;quot;:{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Oceania&amp;quot;]},&amp;quot;Australasia&amp;quot;,&amp;quot;$continent&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Messing with continent names 3==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; and the &amp;lt;b&amp;gt;continent&amp;lt;/b&amp;gt; but:&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*substitute &amp;lt;b&amp;gt;Eurasia&amp;lt;/b&amp;gt; for &amp;lt;b&amp;gt;Europe&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Asia&amp;lt;/b&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
*substitute &amp;lt;b&amp;gt;America&amp;lt;/b&amp;gt; - for each country in &amp;lt;b&amp;gt;North America&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;Caribbean&amp;lt;/b&amp;gt;.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Only show countries beginning with &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
If you&#039;re struggling you may want to experiment with &amp;lt;code&amp;gt;$and&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;$or&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{name:{$regex:&amp;quot;^A|^B&amp;quot;}}},{$project:{_id:0,name:1,continent:{$cond:[{$or:[{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;Europe&amp;quot;]},{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;Asia&amp;quot;]}]},&amp;quot;Eurasia&amp;quot;,{$cond:[{$or:[{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;North America&amp;quot;]},{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;South America&amp;quot;]},{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;Caribbean&amp;quot;]}]},&amp;quot;America&amp;quot;,&amp;quot;$continent&amp;quot;]}]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Messing with continent names 4==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Put the continents right...&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;Oceania&amp;lt;/b&amp;gt; becomes &amp;lt;b&amp;gt;Australasia&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*Countries in &amp;lt;b&amp;gt;Eurasia&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Turkey&amp;lt;/b&amp;gt; go to &amp;lt;b&amp;gt;Europe/Asia&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;Caribbean&amp;lt;/b&amp;gt; islands starting with &#039;&amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt;&#039; go to &amp;lt;b&amp;gt;North America&amp;lt;/b&amp;gt;, other Caribbean islands go to &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Show the name, the original continent and the new continent of all countries.&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;original&amp;quot;:&amp;quot;$continent&amp;quot;,&amp;quot;new&amp;quot;:{&amp;quot;$cond&amp;quot;:[{&amp;quot;$or&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Eurasia&amp;quot;]},{&amp;quot;$eq&amp;quot;:[&amp;quot;$name&amp;quot;,&amp;quot;Turkey&amp;quot;]}]},&amp;quot;Europe/Asia&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Oceania&amp;quot;]},&amp;quot;Australasia&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$and&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Caribbean&amp;quot;]},{&amp;quot;$eq&amp;quot;:[{&amp;quot;$substr&amp;quot;:[&amp;quot;$name&amp;quot;,0,1]},&amp;quot;B&amp;quot;]}]},&amp;quot;North America&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$and&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Caribbean&amp;quot;]},{&amp;quot;$ne&amp;quot;:[{&amp;quot;$substr&amp;quot;:[&amp;quot;$name&amp;quot;,0,1]},&amp;quot;B&amp;quot;]}]},&amp;quot;South America&amp;quot;,&amp;quot;$continent&amp;quot;]}]}]}]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=AGGREGATE_Tutorial&amp;diff=1323</id>
		<title>AGGREGATE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=AGGREGATE_Tutorial&amp;diff=1323"/>
		<updated>2018-10-17T13:02:28Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* First and last country by continent */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Country Profile==&lt;br /&gt;
For these questions you should use &amp;lt;code&amp;gt;aggregate([])&amp;lt;/code&amp;gt; on the collection &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may find these [[AGGREGATE examples]] useful.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Per Capita GDP==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Give the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;per capita GDP&amp;lt;/code&amp;gt; for those countries with a &amp;lt;code&amp;gt;population&amp;lt;/code&amp;gt; of at least 200 million.&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to calculate per capita GDP&amp;quot;&amp;gt;&lt;br /&gt;
per capita GDP is the GDP divided by the population.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        population: {$gte: 250000000}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        &amp;quot;per capita GDP&amp;quot;: {$divide: [&#039;$gdp&#039;, 1000000]}&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;population&amp;quot;:{&amp;quot;$gte&amp;quot;:200000000}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;per capita GDP&amp;quot;: {&amp;quot;$divide&amp;quot;: [&amp;quot;$gdp&amp;quot;,&amp;quot;$population&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Population Density in South America==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Give the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;population density&amp;lt;/code&amp;gt; of all countries in South America.&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;How to calculate population density&amp;quot;&amp;gt;&lt;br /&gt;
population density is the population divided by the area&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Division by 0 error?&amp;quot;&amp;gt;&lt;br /&gt;
Use a &amp;lt;code&amp;gt;$match&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;{&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {continent: &#039;Asia&#039;}},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        density: {$divide: [&amp;quot;$population&amp;quot;, &amp;quot;$area&amp;quot;]}&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{continent:&#039;South America&#039;}},{$project:{_id:0,name:1,density:{$divide:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Population Density for &amp;quot;V&amp;quot;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Give the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;population density&amp;lt;/code&amp;gt; of all countries with name after V in the alphabet.&lt;br /&gt;
&amp;lt;p&amp;gt;Note that because Vatican City (with area 0) is in Europe you will get a divide by zero error unless you filter first.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint&amp;quot; title=&amp;quot;Division by 0 error?&amp;quot;&amp;gt;&lt;br /&gt;
Use a &amp;lt;code&amp;gt;$match&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  $match: {&lt;br /&gt;
    area: {&lt;br /&gt;
      &amp;quot;$ne&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {name: {$gt: &#039;V&#039;}}},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1,&lt;br /&gt;
        area: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{name:{$gt:&#039;V&#039;}}},{$match:{area:{&amp;quot;$ne&amp;quot;:0}}},{$project:{_id:0,name:1,density:{$divide:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Population in millions==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;population&amp;lt;/code&amp;gt; in millions for the countries of the continent &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt;. Divide the population by 1000000 to get population in millions. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match:{&lt;br /&gt;
&lt;br /&gt;
    }},&lt;br /&gt;
    {$project:{&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;continent&amp;quot;:{&amp;quot;$eq&amp;quot;:&amp;quot;South America&amp;quot;}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;population&amp;quot;:{&amp;quot;$divide&amp;quot;:[&amp;quot;$population&amp;quot;,1000000]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Population density==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;population density&amp;lt;/code&amp;gt; for &amp;lt;b&amp;gt;France&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Germany&amp;lt;/b&amp;gt;, and &amp;lt;b&amp;gt;Italy&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match:{&lt;br /&gt;
        name: {$in: [&#039;United Kingdom&#039;, &#039;United States&#039;, &#039;Brazil&#039;]},&lt;br /&gt;
        population: {$ne: null},&lt;br /&gt;
        area: {$ne: 0}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project:{&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;name&amp;quot;:{&amp;quot;$in&amp;quot;:[&#039;France&#039;,&#039;Germany&#039;,&#039;Italy&#039;]},&amp;quot;population&amp;quot;:{&amp;quot;$ne&amp;quot;:null},&amp;quot;area&amp;quot;:{&amp;quot;$ne&amp;quot;:0}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;population density&amp;quot;:{&amp;quot;$divide&amp;quot;:[&amp;quot;$population&amp;quot;,&amp;quot;$area&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Continents by area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Order the &amp;lt;code&amp;gt;continents&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;area&amp;lt;/code&amp;gt; from most to least.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$group: {&lt;br /&gt;
        _id: &amp;quot;$name&amp;quot;,&lt;br /&gt;
        area: {$max: &amp;quot;$area&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$sort: {&lt;br /&gt;
        area: -1&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 1,&lt;br /&gt;
        area: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$group&amp;quot;:{&amp;quot;_id&amp;quot;:&amp;quot;$continent&amp;quot;,&amp;quot;area&amp;quot;:{&amp;quot;$sum&amp;quot;:&amp;quot;$area&amp;quot;}}},{&amp;quot;$sort&amp;quot;:{&amp;quot;area&amp;quot;:-1}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:1,&amp;quot;area&amp;quot;:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Big Continents==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the only two continents with total area greater than 25000000 and then sort from largest to smallest.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$match: {&lt;br /&gt;
      continent: &amp;quot;North America&amp;quot;&lt;br /&gt;
  }},&lt;br /&gt;
  {$project: {&lt;br /&gt;
      _id: 0,&lt;br /&gt;
      name: 1&lt;br /&gt;
  }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$group:{_id:&amp;quot;$continent&amp;quot;,area:{$sum:&amp;quot;$area&amp;quot;}}},{$sort:{area:-1}},{$match:{area:{$gt:25000000}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==First and last country by continent==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
For each continent show the first and last country alphabetically like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;gt;&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Africa&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Algeria&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Zimbabwe&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Asia&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Afghanistan&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Yemen&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Caribbean&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Antigua and Barbuda&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Trinidad and Tobago&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Eurasia&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Armenia&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Russia&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Europe&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Albania&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Vatican City&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;North America&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Belize&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;United States&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Oceania&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Australia&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Vanuatu&amp;quot; }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;South America&amp;quot;, &amp;quot;from&amp;quot; : &amp;quot;Argentina&amp;quot;, &amp;quot;to&amp;quot; : &amp;quot;Venezuela&amp;quot; }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$group: {&lt;br /&gt;
      _id: &amp;quot;$continent&amp;quot;&lt;br /&gt;
  }},&lt;br /&gt;
  {$sort: {&lt;br /&gt;
      _id: 1&lt;br /&gt;
  }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$sort:{name:1}},{$group:{_id:&#039;$continent&#039;,from:{$first:&#039;$name&#039;},to:{$last:&#039;$name&#039;}},},{$sort:{_id:1}}])&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Countries beginning with...==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Group countries according to the first letter of the name. As shown.&lt;br /&gt;
Only give &amp;quot;U&amp;quot; through to &amp;quot;Z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You will need to use the &#039;&#039;&#039;$substr&#039;&#039;&#039; function and the &#039;&#039;&#039;$push&#039;&#039;&#039; aggregate function.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;U&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Uganda&amp;quot;, &amp;quot;Ukraine&amp;quot;, &amp;quot;United Arab Emirates&amp;quot;, &amp;quot;United Kingdom&amp;quot;, &amp;quot;United States&amp;quot;, &amp;quot;Uruguay&amp;quot;, &amp;quot;Uzbekistan&amp;quot; ] }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;V&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Vanuatu&amp;quot;, &amp;quot;Vatican City&amp;quot;, &amp;quot;Venezuela&amp;quot;, &amp;quot;Vietnam&amp;quot; ] }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Y&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Yemen&amp;quot; ] }&lt;br /&gt;
 { &amp;quot;_id&amp;quot; : &amp;quot;Z&amp;quot;, &amp;quot;list&amp;quot; : [ &amp;quot;Zambia&amp;quot;, &amp;quot;Zimbabwe&amp;quot; ] }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$project: {&lt;br /&gt;
    _id: &#039;$name&#039;,&lt;br /&gt;
    startsWith: {$substr: [&#039;$name&#039;, 0, 1]}&lt;br /&gt;
  }},&lt;br /&gt;
  {$match: {&lt;br /&gt;
    _id: {$gte: &#039;U&#039;}&lt;br /&gt;
  }},&lt;br /&gt;
  {$sort: {_id: 1}}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$group:{_id:{$substr:[&#039;$name&#039;,0,1]},list:{$push:&#039;$name&#039;}}},{$match:{_id:{$gte:&#039;U&#039;}}},{$sort:{_id:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Harder Questions==&lt;br /&gt;
==Messing with continent names==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Combine &amp;lt;b&amp;gt;North America&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt; to &amp;lt;b&amp;gt;America&amp;lt;/b&amp;gt;, and then list the continents by area. Biggest first.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
  {$group: {&lt;br /&gt;
    _id: {&lt;br /&gt;
      $cond: [&lt;br /&gt;
        {$eq: [&amp;quot;$continent&amp;quot;, &amp;quot;North America&amp;quot;]},&lt;br /&gt;
        &amp;quot;America&amp;quot;,&lt;br /&gt;
        {$cond: [&lt;br /&gt;
          {$eq: [&amp;quot;$continent&amp;quot;, &amp;quot;Asia&amp;quot;]},&lt;br /&gt;
          &amp;quot;The East&amp;quot;,&lt;br /&gt;
          &amp;quot;$continent&amp;quot;&lt;br /&gt;
        ]}&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    area: {$sum: &amp;quot;$area&amp;quot;}&lt;br /&gt;
  }},&lt;br /&gt;
  {$sort: {area: -1}},&lt;br /&gt;
  {$project: {&lt;br /&gt;
    _id: 1,&lt;br /&gt;
    area: 1&lt;br /&gt;
  }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$group&amp;quot;:{&amp;quot;_id&amp;quot;:{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;South America&amp;quot;]},&amp;quot;America&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;North America&amp;quot;]},&amp;quot;America&amp;quot;,&amp;quot;$continent&amp;quot;]}]},&amp;quot;area&amp;quot;:{&amp;quot;$sum&amp;quot;:&amp;quot;$area&amp;quot;}}},{&amp;quot;$sort&amp;quot;:{&amp;quot;area&amp;quot;:-1}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:1,&amp;quot;area&amp;quot;:1}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Messing with continent names 2==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; and the &amp;lt;b&amp;gt;continent&amp;lt;/b&amp;gt; for countries beginning with N - but replace the continent &amp;lt;b&amp;gt;Oceania&amp;lt;/b&amp;gt; with &amp;lt;b&amp;gt;Australasia&amp;lt;/b&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.aggregate([&lt;br /&gt;
    {$match: {&lt;br /&gt;
        name: {$regex: &amp;quot;^N&amp;quot;}&lt;br /&gt;
    }},&lt;br /&gt;
    {$project: {&lt;br /&gt;
        _id: 0,&lt;br /&gt;
        name: 1&lt;br /&gt;
    }}&lt;br /&gt;
]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$match&amp;quot;:{&amp;quot;name&amp;quot;:{&amp;quot;$regex&amp;quot;:&amp;quot;^N&amp;quot;}}},{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;continent&amp;quot;:{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Oceania&amp;quot;]},&amp;quot;Australasia&amp;quot;,&amp;quot;$continent&amp;quot;]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Messing with continent names 3==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Show the &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; and the &amp;lt;b&amp;gt;continent&amp;lt;/b&amp;gt; but:&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*substitute &amp;lt;b&amp;gt;Eurasia&amp;lt;/b&amp;gt; for &amp;lt;b&amp;gt;Europe&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Asia&amp;lt;/b&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
*substitute &amp;lt;b&amp;gt;America&amp;lt;/b&amp;gt; - for each country in &amp;lt;b&amp;gt;North America&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;Caribbean&amp;lt;/b&amp;gt;.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Only show countries beginning with &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
If you&#039;re struggling you may want to experiment with &amp;lt;code&amp;gt;$and&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;$or&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{$match:{name:{$regex:&amp;quot;^A|^B&amp;quot;}}},{$project:{_id:0,name:1,continent:{$cond:[{$or:[{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;Europe&amp;quot;]},{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;Asia&amp;quot;]}]},&amp;quot;Eurasia&amp;quot;,{$cond:[{$or:[{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;North America&amp;quot;]},{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;South America&amp;quot;]},{$eq:[&amp;quot;$continent&amp;quot;,&amp;quot;Caribbean&amp;quot;]}]},&amp;quot;America&amp;quot;,&amp;quot;$continent&amp;quot;]}]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Messing with continent names 4==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Put the continents right...&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;Oceania&amp;lt;/b&amp;gt; becomes &amp;lt;b&amp;gt;Australasia&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*Countries in &amp;lt;b&amp;gt;Eurasia&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Turkey&amp;lt;/b&amp;gt; go to &amp;lt;b&amp;gt;Europe/Asia&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;Caribbean&amp;lt;/b&amp;gt; islands starting with &#039;&amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt;&#039; go to &amp;lt;b&amp;gt;North America&amp;lt;/b&amp;gt;, other Caribbean islands go to &amp;lt;b&amp;gt;South America&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Show the name, the original continent and the new continent of all countries.&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.aggregate([{&amp;quot;$project&amp;quot;:{&amp;quot;_id&amp;quot;:0,&amp;quot;name&amp;quot;:1,&amp;quot;original&amp;quot;:&amp;quot;$continent&amp;quot;,&amp;quot;new&amp;quot;:{&amp;quot;$cond&amp;quot;:[{&amp;quot;$or&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Eurasia&amp;quot;]},{&amp;quot;$eq&amp;quot;:[&amp;quot;$name&amp;quot;,&amp;quot;Turkey&amp;quot;]}]},&amp;quot;Europe/Asia&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Oceania&amp;quot;]},&amp;quot;Australasia&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$and&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Caribbean&amp;quot;]},{&amp;quot;$eq&amp;quot;:[{&amp;quot;$substr&amp;quot;:[&amp;quot;$name&amp;quot;,0,1]},&amp;quot;B&amp;quot;]}]},&amp;quot;North America&amp;quot;,{&amp;quot;$cond&amp;quot;:[{&amp;quot;$and&amp;quot;:[{&amp;quot;$eq&amp;quot;:[&amp;quot;$continent&amp;quot;,&amp;quot;Caribbean&amp;quot;]},{&amp;quot;$ne&amp;quot;:[{&amp;quot;$substr&amp;quot;:[&amp;quot;$name&amp;quot;,0,1]},&amp;quot;B&amp;quot;]}]},&amp;quot;South America&amp;quot;,&amp;quot;$continent&amp;quot;]}]}]}]}}}]);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1322</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1322"/>
		<updated>2018-10-17T13:00:51Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
Use &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &amp;lt;code&amp;gt;.pretty()&amp;lt;/code&amp;gt; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent:&amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can test numbers as well as strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp:3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area:43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name:&#039;Germany&#039;},&lt;br /&gt;
    {name:&#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1321</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1321"/>
		<updated>2018-10-17T12:58:35Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Find an area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  Use &#039;&#039;&#039;find()&#039;&#039;&#039; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  You can use &#039;&#039;&#039;.pretty()&#039;&#039;&#039; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent:&amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  You can test numbers as well as strings.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp:3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area:43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name:&#039;Germany&#039;},&lt;br /&gt;
    {name:&#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1320</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1320"/>
		<updated>2018-10-17T12:57:52Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Eurasia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  Use &#039;&#039;&#039;find()&#039;&#039;&#039; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  You can use &#039;&#039;&#039;.pretty()&#039;&#039;&#039; to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent:&amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  You can test numbers as well as strings&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp:3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area:43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name:&#039;Germany&#039;},&lt;br /&gt;
    {name:&#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1319</id>
		<title>FIND Tutorial</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=FIND_Tutorial&amp;diff=1319"/>
		<updated>2018-10-17T12:57:40Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Show Germany */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Working with the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection of countries==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
  This tutorial introduces NoSQL using MongoDB. We will be using the &amp;lt;code&amp;gt;find()&amp;lt;/code&amp;gt;&lt;br /&gt;
  command and comparison functions on the collection &#039;&#039;&#039;world&#039;&#039;&#039; which contains details of around 250 countries of the world:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[FIND examples]] are available.&lt;br /&gt;
&amp;lt;div class=&#039;extra_space&#039; style=&#039;width:1em; height:6em;&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==Show Germany==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  Use &#039;&#039;&#039;find()&#039;&#039;&#039; to show the details of Germany.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Show Germany instead of France.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;France&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eurasia==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  You can use .pretty() to make the output more readable.&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List all the countries in the continent of &amp;quot;Eurasia&amp;quot;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:&#039;Germany&#039;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({continent:&amp;quot;Eurasia&amp;quot;}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Find an area==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  You can test numbers as well as strings&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the country with an area of exactly 43094.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({gdp:3425956000000}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({area:43094}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $gt==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
You can use &#039;&#039;&#039;$gt&#039;&#039;&#039; (greater than) and &#039;&#039;&#039;$lt&#039;&#039;&#039; (less than) to compare numbers and strings.&lt;br /&gt;
&amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
  Show each country with a population of over 250000000 &amp;lt;br/&amp;gt;&lt;br /&gt;
  Sort the results alphabetically.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {area: {$gt: 9000000}},&lt;br /&gt;
  {name: 1, _id: 0}&lt;br /&gt;
).sort(&lt;br /&gt;
  {name: 1}&lt;br /&gt;
).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After S==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    List the countries that come after &amp;quot;S&amp;quot; in the alphabet.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({name:{$gt:&amp;quot;S&amp;quot;}},{name:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Name and Capital==&lt;br /&gt;
&amp;lt;div class=&amp;quot;q&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the name and capital cities for countries with a population of over 70 million.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({population:{$gt:70000000}},{name:1,capital:1,_id:0}).pretty();&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using $or==&lt;br /&gt;
&amp;lt;div class=q data-lang=mongo&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
    Find the countries that have a population that is over 200 million or less than 20,000.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
db.world.find(&lt;br /&gt;
  {$or: [&lt;br /&gt;
    {name:&#039;Germany&#039;},&lt;br /&gt;
    {name:&#039;France&#039;}&lt;br /&gt;
  ]},&lt;br /&gt;
  {name: 1, population: 1, _id: 0}&lt;br /&gt;
);&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ans&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://goo.gl/forms/ep8rBbCQSa381ic82 {{huge| Survey}}] &amp;lt;br/&amp;gt;&lt;br /&gt;
Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Elite_Document_Structure&amp;diff=1318</id>
		<title>Elite Document Structure</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Elite_Document_Structure&amp;diff=1318"/>
		<updated>2018-10-17T12:55:49Z</updated>

		<summary type="html">&lt;p&gt;40166222: Add syntax highlighting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questions on this database can be found here: [[MAPREDUCE elite]]&lt;br /&gt;
==Elite Dangerous==&lt;br /&gt;
Keys used in this database.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    commodities: &lt;br /&gt;
        _id, average_price, category, name&lt;br /&gt;
&lt;br /&gt;
    systems: &lt;br /&gt;
        _id, allegiance, faction, government, name, population, primary_economy, security, state, stations, updated_at, x, y, z&lt;br /&gt;
&lt;br /&gt;
    systems.stations: &lt;br /&gt;
        allegiance, distance_to_star, economies, export_commodities,has_blackmarket, has_commodities, has_rearm, has_repair,&lt;br /&gt;
        has_shipyard, has_outfitting, faction, government, listings, max_landing_pad, name, state, type, updated_at&lt;br /&gt;
&lt;br /&gt;
    systems.stations.listings: &lt;br /&gt;
        buy_price, collected_at, demand, commodity, sell_price, supply, update_count&lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Unlike the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection, &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; and empty values are not stored in this database.&amp;lt;br/&amp;gt;&lt;br /&gt;
This means that some documents will have fields that others do not. Some systems will be uninhabited and have no stations and some stations will have no listings.&amp;lt;br/&amp;gt;&lt;br /&gt;
To query null &amp;lt;b&amp;gt;or&amp;lt;/b&amp;gt; non-existent fields use &amp;lt;code&amp;gt;&amp;lt;field&amp;gt;: None&amp;lt;/code&amp;gt;. or &amp;lt;code&amp;gt;&amp;lt;field&amp;gt;: &amp;quot;null&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A typical &amp;lt;code&amp;gt;commodities&amp;lt;/code&amp;gt; document looks something like this.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
        &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;55af74e7402aa43f1ce7e3a3&amp;quot;),&lt;br /&gt;
        &amp;quot;name&amp;quot; : &amp;quot;Explosives&amp;quot;,&lt;br /&gt;
        &amp;quot;average_price&amp;quot; : 267,&lt;br /&gt;
        &amp;quot;category&amp;quot; : &amp;quot;Chemicals&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;systems&amp;lt;/code&amp;gt; is much bigger, so some stations and listings have been removed from this example document to make it shorter.&lt;br /&gt;
*The system &#039;&#039;&#039;Kappa Cygni&#039;&#039;&#039; has two stations &#039;&#039;&#039;Kensey Ring&#039;&#039;&#039; and &#039;&#039;&#039;Hauck Enterprise&#039;&#039;&#039;.&lt;br /&gt;
*At Kensey Ring you can buy the commodity &#039;&#039;&#039;Hydrogen Fuel&#039;&#039;&#039; for 93 credits per ton, you can sell it is 89 credits.&lt;br /&gt;
*You cannot buy &#039;&#039;&#039;Mineral Oil&#039;&#039;&#039; there but you can sell it at 326.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt; db.systems.findOne({&amp;quot;name&amp;quot;:&amp;quot;1 Kappa Cygni&amp;quot;}) // Query&lt;br /&gt;
&lt;br /&gt;
// Result&lt;br /&gt;
{&lt;br /&gt;
        &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;55b0edf6369fd5074b349c48&amp;quot;),&lt;br /&gt;
        &amp;quot;stations&amp;quot; : [&lt;br /&gt;
                {&lt;br /&gt;
                        &amp;quot;max_landing_pad_size&amp;quot; : &amp;quot;M&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_blackmarket&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;has_commodities&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;updated_at&amp;quot; : 1434929486,&lt;br /&gt;
                        &amp;quot;has_outfitting&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;government&amp;quot; : &amp;quot;Democracy&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_shipyard&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;type&amp;quot; : &amp;quot;Unknown Outpost&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_rearm&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;allegiance&amp;quot; : &amp;quot;Federation&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_refuel&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot; : &amp;quot;Kinsey Ring&amp;quot;,&lt;br /&gt;
                        &amp;quot;listings&amp;quot; : [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;commodity&amp;quot; : &amp;quot;Hydrogen Fuel&amp;quot;,&lt;br /&gt;
                                        &amp;quot;supply&amp;quot; : 129630,&lt;br /&gt;
                                        &amp;quot;collected_at&amp;quot; : 1421669319,&lt;br /&gt;
                                        &amp;quot;update_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;buy_price&amp;quot; : 93,&lt;br /&gt;
                                        &amp;quot;sell_price&amp;quot; : 89,&lt;br /&gt;
                                        &amp;quot;demand&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;commodity&amp;quot; : &amp;quot;Mineral Oil&amp;quot;,&lt;br /&gt;
                                        &amp;quot;supply&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;collected_at&amp;quot; : 1421669320,&lt;br /&gt;
                                        &amp;quot;update_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;buy_price&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;sell_price&amp;quot; : 326,&lt;br /&gt;
                                        &amp;quot;demand&amp;quot; : 217674&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;distance_to_star&amp;quot; : 2359,&lt;br /&gt;
                        &amp;quot;economies&amp;quot; : [&lt;br /&gt;
                                &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
                                &amp;quot;Refinery&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;has_repair&amp;quot; : 1&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                        &amp;quot;max_landing_pad_size&amp;quot; : &amp;quot;M&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_blackmarket&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;has_commodities&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;updated_at&amp;quot; : 1434929486,&lt;br /&gt;
                        &amp;quot;has_outfitting&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;government&amp;quot; : &amp;quot;Anarchy&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_shipyard&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;type&amp;quot; : &amp;quot;Unknown Outpost&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_rearm&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;allegiance&amp;quot; : &amp;quot;Independent&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_refuel&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot; : &amp;quot;Hauck Enterprise&amp;quot;,&lt;br /&gt;
                        &amp;quot;distance_to_star&amp;quot; : 4832,&lt;br /&gt;
                        &amp;quot;economies&amp;quot; : [&lt;br /&gt;
                                &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
                                &amp;quot;Refinery&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;has_repair&amp;quot; : 1&lt;br /&gt;
                }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;name&amp;quot; : &amp;quot;1 Kappa Cygni&amp;quot;,&lt;br /&gt;
        &amp;quot;faction&amp;quot; : &amp;quot;United 1 Kappa Cygni Future&amp;quot;,&lt;br /&gt;
        &amp;quot;government&amp;quot; : &amp;quot;Democracy&amp;quot;,&lt;br /&gt;
        &amp;quot;allegiance&amp;quot; : &amp;quot;Federation&amp;quot;,&lt;br /&gt;
        &amp;quot;updated_at&amp;quot; : 1430938622,&lt;br /&gt;
        &amp;quot;state&amp;quot; : &amp;quot;None&amp;quot;,&lt;br /&gt;
        &amp;quot;needs_permit&amp;quot; : 0,&lt;br /&gt;
        &amp;quot;y&amp;quot; : 37.78125,&lt;br /&gt;
        &amp;quot;x&amp;quot; : -117.75,&lt;br /&gt;
        &amp;quot;security&amp;quot; : &amp;quot;High&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot; : 11.1875,&lt;br /&gt;
        &amp;quot;primary_economy&amp;quot; : &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
        &amp;quot;population&amp;quot; : 24843190&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Elite_Document_Structure&amp;diff=1317</id>
		<title>Elite Document Structure</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Elite_Document_Structure&amp;diff=1317"/>
		<updated>2018-10-17T12:50:48Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Elite Dangerous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questions on this database can be found here: [[MAPREDUCE elite]]&lt;br /&gt;
==Elite Dangerous==&lt;br /&gt;
Keys used in this database.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    commodities: &lt;br /&gt;
        _id, average_price, category, name&lt;br /&gt;
    systems: &lt;br /&gt;
        _id, allegiance, faction, government, name, population, primary_economy, security, state, stations, updated_at, x, y, z&lt;br /&gt;
&lt;br /&gt;
    systems.stations: &lt;br /&gt;
        allegiance, distance_to_star, economies, export_commodities,has_blackmarket, has_commodities, has_rearm, has_repair,&lt;br /&gt;
        has_shipyard, has_outfitting, faction, government, listings, max_landing_pad, name, state, type, updated_at&lt;br /&gt;
&lt;br /&gt;
    systems.stations.listings: &lt;br /&gt;
        buy_price, collected_at, demand, commodity, sell_price, supply, update_count&lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Unlike the &amp;lt;code&amp;gt;world&amp;lt;/code&amp;gt; collection, &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; and empty values are not stored in this database.&amp;lt;br/&amp;gt;&lt;br /&gt;
This means that some documents will have fields that others do not. Some systems will be uninhabited and have no stations and some stations will have no listings.&amp;lt;br/&amp;gt;&lt;br /&gt;
To query null &amp;lt;b&amp;gt;or&amp;lt;/b&amp;gt; non-existent fields use &amp;lt;code&amp;gt;&amp;lt;field&amp;gt;: None&amp;lt;/code&amp;gt;. or &amp;lt;code&amp;gt;&amp;lt;field&amp;gt;: &amp;quot;null&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A typical &amp;lt;code&amp;gt;commodities&amp;lt;/code&amp;gt; document looks something like this.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
        &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;55af74e7402aa43f1ce7e3a3&amp;quot;),&lt;br /&gt;
        &amp;quot;name&amp;quot; : &amp;quot;Explosives&amp;quot;,&lt;br /&gt;
        &amp;quot;average_price&amp;quot; : 267,&lt;br /&gt;
        &amp;quot;category&amp;quot; : &amp;quot;Chemicals&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;systems&amp;lt;/code&amp;gt; is much bigger, so some stations and listings have been removed from this example document to make it shorter.&lt;br /&gt;
*The system &#039;&#039;&#039;Kappa Cygni&#039;&#039;&#039; has two stations &#039;&#039;&#039;Kensey Ring&#039;&#039;&#039; and &#039;&#039;&#039;Hauck Enterprise&#039;&#039;&#039;.&lt;br /&gt;
*At Kensey Ring you can buy the commodity &#039;&#039;&#039;Hydrogen Fuel&#039;&#039;&#039; for 93 credits per ton, you can sell it is 89 credits.&lt;br /&gt;
*You cannot buy &#039;&#039;&#039;Mineral Oil&#039;&#039;&#039; there but you can sell it at 326.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;gt; db.systems.findOne({&amp;quot;name&amp;quot;:&amp;quot;1 Kappa Cygni&amp;quot;})&lt;br /&gt;
{&lt;br /&gt;
        &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;55b0edf6369fd5074b349c48&amp;quot;),&lt;br /&gt;
        &amp;quot;stations&amp;quot; : [&lt;br /&gt;
                {&lt;br /&gt;
                        &amp;quot;max_landing_pad_size&amp;quot; : &amp;quot;M&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_blackmarket&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;has_commodities&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;updated_at&amp;quot; : 1434929486,&lt;br /&gt;
                        &amp;quot;has_outfitting&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;government&amp;quot; : &amp;quot;Democracy&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_shipyard&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;type&amp;quot; : &amp;quot;Unknown Outpost&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_rearm&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;allegiance&amp;quot; : &amp;quot;Federation&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_refuel&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot; : &amp;quot;Kinsey Ring&amp;quot;,&lt;br /&gt;
                        &amp;quot;listings&amp;quot; : [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;commodity&amp;quot; : &amp;quot;Hydrogen Fuel&amp;quot;,&lt;br /&gt;
                                        &amp;quot;supply&amp;quot; : 129630,&lt;br /&gt;
                                        &amp;quot;collected_at&amp;quot; : 1421669319,&lt;br /&gt;
                                        &amp;quot;update_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;buy_price&amp;quot; : 93,&lt;br /&gt;
                                        &amp;quot;sell_price&amp;quot; : 89,&lt;br /&gt;
                                        &amp;quot;demand&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;commodity&amp;quot; : &amp;quot;Mineral Oil&amp;quot;,&lt;br /&gt;
                                        &amp;quot;supply&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;collected_at&amp;quot; : 1421669320,&lt;br /&gt;
                                        &amp;quot;update_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;buy_price&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;sell_price&amp;quot; : 326,&lt;br /&gt;
                                        &amp;quot;demand&amp;quot; : 217674&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;distance_to_star&amp;quot; : 2359,&lt;br /&gt;
                        &amp;quot;economies&amp;quot; : [&lt;br /&gt;
                                &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
                                &amp;quot;Refinery&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;has_repair&amp;quot; : 1&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                        &amp;quot;max_landing_pad_size&amp;quot; : &amp;quot;M&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_blackmarket&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;has_commodities&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;updated_at&amp;quot; : 1434929486,&lt;br /&gt;
                        &amp;quot;has_outfitting&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;government&amp;quot; : &amp;quot;Anarchy&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_shipyard&amp;quot; : 0,&lt;br /&gt;
                        &amp;quot;type&amp;quot; : &amp;quot;Unknown Outpost&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_rearm&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;allegiance&amp;quot; : &amp;quot;Independent&amp;quot;,&lt;br /&gt;
                        &amp;quot;has_refuel&amp;quot; : 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot; : &amp;quot;Hauck Enterprise&amp;quot;,&lt;br /&gt;
                        &amp;quot;distance_to_star&amp;quot; : 4832,&lt;br /&gt;
                        &amp;quot;economies&amp;quot; : [&lt;br /&gt;
                                &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
                                &amp;quot;Refinery&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;has_repair&amp;quot; : 1&lt;br /&gt;
                }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;name&amp;quot; : &amp;quot;1 Kappa Cygni&amp;quot;,&lt;br /&gt;
        &amp;quot;faction&amp;quot; : &amp;quot;United 1 Kappa Cygni Future&amp;quot;,&lt;br /&gt;
        &amp;quot;government&amp;quot; : &amp;quot;Democracy&amp;quot;,&lt;br /&gt;
        &amp;quot;allegiance&amp;quot; : &amp;quot;Federation&amp;quot;,&lt;br /&gt;
        &amp;quot;updated_at&amp;quot; : 1430938622,&lt;br /&gt;
        &amp;quot;state&amp;quot; : &amp;quot;None&amp;quot;,&lt;br /&gt;
        &amp;quot;needs_permit&amp;quot; : 0,&lt;br /&gt;
        &amp;quot;y&amp;quot; : 37.78125,&lt;br /&gt;
        &amp;quot;x&amp;quot; : -117.75,&lt;br /&gt;
        &amp;quot;security&amp;quot; : &amp;quot;High&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot; : 11.1875,&lt;br /&gt;
        &amp;quot;primary_economy&amp;quot; : &amp;quot;Industrial&amp;quot;,&lt;br /&gt;
        &amp;quot;population&amp;quot; : 24843190&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1316</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1316"/>
		<updated>2018-10-17T12:27:58Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Reference: How to... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]]&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE Examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND Examples]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1315</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1315"/>
		<updated>2018-10-17T12:25:46Z</updated>

		<summary type="html">&lt;p&gt;40166222: /* Tutorials: Learn NoSQL in stages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|FIND Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]]&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND examples]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1314</id>
		<title>Template:TopTips</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1314"/>
		<updated>2018-10-17T12:20:38Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&#039;guidelist&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&#039;fc&#039;&amp;gt;Top Tips&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Find|Find]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sort|Sort]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sum and Count|Sum and Count]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Round|Round]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Join|Join]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Iterate|Iterate]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:MapReduce|MapReduce]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1313</id>
		<title>Template:TopTips</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1313"/>
		<updated>2018-10-17T12:20:23Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&#039;guidelist&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&#039;fc&#039;&amp;gt;Top Ten Tips&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Find|Find]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sort|Sort]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sum and Count|Sum and Count]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Round|Round]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Join|Join]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Iterate|Iterate]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:MapReduce|MapReduce]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Template:TopTenTips&amp;diff=1312</id>
		<title>Template:TopTenTips</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Template:TopTenTips&amp;diff=1312"/>
		<updated>2018-10-17T12:20:12Z</updated>

		<summary type="html">&lt;p&gt;40166222: 40166222 moved page Template:TopTenTips to Template:TopTips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:TopTips]]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1311</id>
		<title>Template:TopTips</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1311"/>
		<updated>2018-10-17T12:20:12Z</updated>

		<summary type="html">&lt;p&gt;40166222: 40166222 moved page Template:TopTenTips to Template:TopTips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&#039;guidelist&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&#039;fc&#039;&amp;gt;Top Ten Tips&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Find|Find]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Create|Create]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Insert|Insert]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Update|Update]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sort|Sort]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sum and Count|Sum and Count]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Round|Round]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Join|Join]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Iterate|Iterate]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:MapReduce|MapReduce]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1310</id>
		<title>Template:TopTips</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=Template:TopTips&amp;diff=1310"/>
		<updated>2018-10-17T12:09:40Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&#039;guidelist&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&#039;fc&#039;&amp;gt;Top Ten Tips&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Find|Find]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Create|Create]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Insert|Insert]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Update|Update]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sort|Sort]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Sum and Count|Sum and Count]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Round|Round]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Join|Join]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:Iterate|Iterate]]&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;[[{{NAMESPACE}}:MapReduce|MapReduce]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1309</id>
		<title>NoSQL Zoo</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQL_Zoo&amp;diff=1309"/>
		<updated>2018-10-16T16:13:18Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn NoSQL using MongoDB.&lt;br /&gt;
&amp;lt;div class=&amp;quot;q nonum&amp;quot; data-lang=&amp;quot;mongo&amp;quot;&amp;gt;&lt;br /&gt;
  What is the capital of France?&lt;br /&gt;
  &amp;lt;pre class=&amp;quot;def&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;db.world.findOne({name: &amp;quot;France&amp;quot;}, {capital: 1});&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{TopTenTips}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-height:25em&amp;quot;&amp;gt;&lt;br /&gt;
==Tutorials: Learn NoSQL in stages==&lt;br /&gt;
; 1 [[FIND Tutorial|Find Tutorial]]:Using Find.&lt;br /&gt;
; 2 [[AGGREGATE Tutorial|AGGREGATE Tutorial]]:In which we query the world collection and make use of aggregate functions. [[AGGREGATE Movies Tutorial|AGGREGATE Movies Tutorial]]&lt;br /&gt;
; 3 [[MAPREDUCE Tutorial]]:Using MapReduce.&lt;br /&gt;
; 4 [[MAPREDUCE Elite]]:MapReduce questions using the Elite Dangerous dataset.&lt;br /&gt;
; 5 [https://goo.gl/forms/ep8rBbCQSa381ic82 Survey]:Do you have thoughts about this website that you would like to share? Help improve NoSQLZoo!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference: How to...==&lt;br /&gt;
; [[AGGREGATE examples]]&lt;br /&gt;
; [[Find|FIND]]&lt;br /&gt;
; [[FIND examples]]&lt;br /&gt;
; [[MapReduce | MAPREDUCE]]&lt;br /&gt;
; [[Elite Document Structure|NOSQLZOO: &#039;elite&#039; dataset schema]]&lt;br /&gt;
; [[RegEx Pattern Matching]]&lt;br /&gt;
&lt;br /&gt;
==MongoDB resources==&lt;br /&gt;
;Manuals: [http://docs.mongodb.org/manual/ MongoDB Documentation] [https://github.com/mongodb/docs MongoDB Documentation GitHub]&amp;lt;br/&amp;gt;[https://docs.python.org/3/ Python 3 Documentation] [http://api.mongodb.org/python/current/ PyMongo API Documentation]&amp;lt;br/&amp;gt; Karl Seguin&#039;s [http://openmymind.net/mongodb.pdf The Little MongoDB Book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
NoSQLZoo is made possible by the following open-source technologies:&lt;br /&gt;
; [https://jquery.com/ jQuery] [http://jshint.com/ JSHint] [http://codemirror.net/ CodeMirror] [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] [https://mariadb.org/ MariaDB]&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQLZoo:About&amp;diff=1308</id>
		<title>NoSQLZoo:About</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQLZoo:About&amp;diff=1308"/>
		<updated>2018-10-16T16:00:48Z</updated>

		<summary type="html">&lt;p&gt;40166222: Created page with &amp;quot;NoSQLZoo is a sister site to [https://sqlzoo.net SQLZOO] for teaching Non-Relational or &amp;#039;NoSQL&amp;#039; databases. It is developed and maintained by Lachlan Kidson as part of his hono...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NoSQLZoo is a sister site to [https://sqlzoo.net SQLZOO] for teaching Non-Relational or &#039;NoSQL&#039; databases. It is developed and maintained by Lachlan Kidson as part of his honours project. It&#039;s a work-in-progress, so please report any bugs to him directly.&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQLZoo:Privacy_policy&amp;diff=1307</id>
		<title>NoSQLZoo:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQLZoo:Privacy_policy&amp;diff=1307"/>
		<updated>2018-10-16T15:50:51Z</updated>

		<summary type="html">&lt;p&gt;40166222: revised&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What Are Cookies?==&lt;br /&gt;
&#039;&#039;An HTTP cookie (web cookie, browser cookie) is a small piece of data that a server sends to the user&#039;s web browser. The browser may store it and send it back with the next request to the same server. Typically, it&#039;s used to tell if two requests came from the same browser — keeping a user logged-in, for example.&#039;&#039; - [https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies Mozilla Developer Network]&lt;br /&gt;
&lt;br /&gt;
==NoSQLZoo Cookie Use==&lt;br /&gt;
NoSQLZoo makes use of cookies to enable retention of progress across multiple separate browsing sessions. Additionally, if you sign in, NoSQLZoo will make use of more cookies to provide core MediaWiki functionality. These cookies can be removed at any time by using the appropriate settings page of any modern browser. NoSQLZoo is designed with cookies in mind, and removal or refusal of cookies may negatively impact your use of this website.&lt;br /&gt;
&lt;br /&gt;
==Further Data Usage==&lt;br /&gt;
Any input sent to the interactive editors on this website will be logged for security and educational purposes, and may be later reviewed for the purpose of improving the content or design of this website. Investigations on usage patterns and student attainment may be published by researchers at Edinburgh Napier University, but will consist of aggregate data where user anonymity is preserved. By continuing to use NoSQLZoo, you are giving your consent to this data being used for research purposes.&lt;br /&gt;
&lt;br /&gt;
==Google Analytics==&lt;br /&gt;
This website also makes use of Google Analytics. Should you wish to opt out of your usage data being collected in this manner, you can do so by installing the following add on: [https://tools.google.com/dlpage/gaoptout Google Analytics OptOut] or through an advertisement blocker of your choice.&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MediaWiki:Common.css&amp;diff=1306</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MediaWiki:Common.css&amp;diff=1306"/>
		<updated>2018-10-16T15:27:27Z</updated>

		<summary type="html">&lt;p&gt;40166222: position&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.mw-cookiewarning-container {&lt;br /&gt;
    position: static !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CodeMirror */&lt;br /&gt;
/*---------------------------------------------------------------*/&lt;br /&gt;
/* BASICS */&lt;br /&gt;
 .CodeMirror {&lt;br /&gt;
    /* Set height, width, borders, and global font properties here */&lt;br /&gt;
     font-family: monospace;&lt;br /&gt;
     height: auto!important;&lt;br /&gt;
     color: black;&lt;br /&gt;
     direction: ltr;&lt;br /&gt;
     border-width: 1px 1px 1px 0px;&lt;br /&gt;
     border-color: grey;&lt;br /&gt;
     border-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 .CodeMirror, .CodeMirror-scroll, .CodeMirror-gutters {&lt;br /&gt;
       min-height: 150px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* PADDING */&lt;br /&gt;
 .CodeMirror-lines {&lt;br /&gt;
     padding: 4px 0;&lt;br /&gt;
    /* Vertical padding around content */&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror pre {&lt;br /&gt;
     padding: 0 4px;&lt;br /&gt;
    /* Horizontal padding of content */&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {&lt;br /&gt;
     background-color: white;&lt;br /&gt;
    /* The little square between H and V scrollbars */&lt;br /&gt;
}&lt;br /&gt;
/* GUTTER */&lt;br /&gt;
 .CodeMirror-gutters {&lt;br /&gt;
     border-right: 1px solid #ddd;&lt;br /&gt;
     background-color: #f7f7f7;&lt;br /&gt;
     white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-linenumbers {&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-linenumber {&lt;br /&gt;
     padding: 0 3px 0 5px;&lt;br /&gt;
     min-width: 20px;&lt;br /&gt;
     text-align: right;&lt;br /&gt;
     color: #999;&lt;br /&gt;
     white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-guttermarker {&lt;br /&gt;
     color: black;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-guttermarker-subtle {&lt;br /&gt;
     color: #999;&lt;br /&gt;
}&lt;br /&gt;
/** CodeMirror **/&lt;br /&gt;
/* CURSOR */&lt;br /&gt;
 .CodeMirror-cursor {&lt;br /&gt;
     border-left: 1px solid black;&lt;br /&gt;
     border-right: none;&lt;br /&gt;
     width: 0;&lt;br /&gt;
}&lt;br /&gt;
/* Shown when moving in bi-directional text */&lt;br /&gt;
 .CodeMirror div.CodeMirror-secondarycursor {&lt;br /&gt;
     border-left: 1px solid silver;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 .cm-fat-cursor .CodeMirror-cursor {&lt;br /&gt;
     width: auto;&lt;br /&gt;
     border: 0 !important;&lt;br /&gt;
     background: #7e7;&lt;br /&gt;
}&lt;br /&gt;
 .cm-fat-cursor div.CodeMirror-cursors {&lt;br /&gt;
     z-index: 1;&lt;br /&gt;
}&lt;br /&gt;
 .cm-fat-cursor-mark {&lt;br /&gt;
     background-color: rgba(20, 255, 20, 0.5);&lt;br /&gt;
     -webkit-animation: blink 1.06s steps(1) infinite;&lt;br /&gt;
     -moz-animation: blink 1.06s steps(1) infinite;&lt;br /&gt;
     animation: blink 1.06s steps(1) infinite;&lt;br /&gt;
}&lt;br /&gt;
 .cm-animate-fat-cursor {&lt;br /&gt;
     width: auto;&lt;br /&gt;
     border: 0;&lt;br /&gt;
     -webkit-animation: blink 1.06s steps(1) infinite;&lt;br /&gt;
     -moz-animation: blink 1.06s steps(1) infinite;&lt;br /&gt;
     animation: blink 1.06s steps(1) infinite;&lt;br /&gt;
     background-color: #7e7;&lt;br /&gt;
}&lt;br /&gt;
 @-moz-keyframes blink {&lt;br /&gt;
     0% {&lt;br /&gt;
    }&lt;br /&gt;
     50% {&lt;br /&gt;
         background-color: transparent;&lt;br /&gt;
    }&lt;br /&gt;
     100% {&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 @-webkit-keyframes blink {&lt;br /&gt;
     0% {&lt;br /&gt;
    }&lt;br /&gt;
     50% {&lt;br /&gt;
         background-color: transparent;&lt;br /&gt;
    }&lt;br /&gt;
     100% {&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 @keyframes blink {&lt;br /&gt;
     0% {&lt;br /&gt;
    }&lt;br /&gt;
     50% {&lt;br /&gt;
         background-color: transparent;&lt;br /&gt;
    }&lt;br /&gt;
     100% {&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
/* Can style cursor different in overwrite (non-insert) mode */&lt;br /&gt;
 .CodeMirror-overwrite .CodeMirror-cursor {&lt;br /&gt;
}&lt;br /&gt;
 .cm-tab {&lt;br /&gt;
     display: inline-block;&lt;br /&gt;
     text-decoration: inherit;&lt;br /&gt;
     background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);&lt;br /&gt;
     background-position: right;&lt;br /&gt;
     background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
.cm-trailingspace {&lt;br /&gt;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAADBnpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja7ZZRjiMpDIbfOcUcAdsYm+NQBUh7gz3+/FAk6aR7WppWXlbaQikoxxjzfy6S0P/9Z4RfuChpDEnNc8k54kolFa4YeLyuq6eY1v260u7p2R4i7y8YJkEv12Pu27/Cro8JtgPR8WwPdu44vgPdVt4BZa48F9t+vgMJX3baz6HseTV92M7+iF353pxfn5NBjKYwCgfuQhJx57mKIANxqeht3RNPC69xxl2n31fahfvwRbyb3q/axbo95FmKEPN2yC8abTvp19othT5mRLchP39R5A76k3ZjNB+jX7urKUOpHPam4g6xRnA8IKWsaRnN8FGMbbWC5tjiCdEbaB5oZ6BCDLUHJWpUaVBf/UknUkzc2dAznyzL5mJc+FxQ0mw02KRIC2DEcoKawMz3XGitW9Z6JzlWbgRPJgSbFD+18JXxJ+0eaIxZukRTTL+0Ql48qwZpTHLzDi8goLE11aXvauGO9XFNsJOZLpkdG6zxuEIcSo/aksVZ4KcxhQ2ZrO0AkAhrK5IhAYGYSZQyRWM2Iujo4FOROaPsDxAgVW4UBtiIZMBxnmtjjtHyZeXLjKMFIBSviAFNkQpYKSnqx5KjhqqKpqCqWU1di9YsOWXNOVueZ1Q1sWRq2czcilUXT66e3dy9eC1cBEeYllwsFC+l1IpFK0JXzK7wqPXgQ4506JEPO/woRz1RPmc69cynnX6WszZu0vD6t9wsNG+l1U4dpdRT1567de+l14FaGzLS0JGHDR9l1Du1TfWZGr2Q+54abWqTWFp+9qAGs9ktBM3jRCczEONEIG6TAAqaJ7PolBJPcpNZLIyXQhnUSCecRpMYCKZOrIPu7B7kvuUWNP0VN/4TuTDRvYNcmOg2uc/cvqDW6vpFkQVovoVT0ygDBxscK3vlo8dz4CfB51P82z78dOL/gf5TgYb7NRwHivOIq3Qcgfbg1ktvPyqr8KaEYnhTQhzelFANb0rIw5sSurb2hoTW1j4siPMG/07Db7o4rMFM+1KDAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gcECwY00aHnvAAAACFJREFUCNdj/P8ss56BgaGBAQKYmBgYGBoYpaYzQgX/AQB32QYEphperwAAAABJRU5ErkJggg==);&lt;br /&gt;
    background-position: bottom left;&lt;br /&gt;
    background-repeat: repeat-x;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-rulers {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     left: 0;&lt;br /&gt;
     right: 0;&lt;br /&gt;
     top: -50px;&lt;br /&gt;
     bottom: -20px;&lt;br /&gt;
     overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-ruler {&lt;br /&gt;
     border-left: 1px solid #ccc;&lt;br /&gt;
     top: 0;&lt;br /&gt;
     bottom: 0;&lt;br /&gt;
     position: absolute;&lt;br /&gt;
}&lt;br /&gt;
/** CodeMirror **/&lt;br /&gt;
/* DEFAULT THEME */&lt;br /&gt;
 .cm-s-default .cm-header {&lt;br /&gt;
     color: blue;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-quote {&lt;br /&gt;
     color: #090;&lt;br /&gt;
}&lt;br /&gt;
 .cm-negative {&lt;br /&gt;
     color: #d44;&lt;br /&gt;
}&lt;br /&gt;
 .cm-positive {&lt;br /&gt;
     color: #292;&lt;br /&gt;
}&lt;br /&gt;
 .cm-header, .cm-strong {&lt;br /&gt;
     font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
 .cm-em {&lt;br /&gt;
     font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
 .cm-link {&lt;br /&gt;
     text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
 .cm-strikethrough {&lt;br /&gt;
     text-decoration: line-through;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-keyword {&lt;br /&gt;
     color: #708;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-atom {&lt;br /&gt;
     color: #219;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-number {&lt;br /&gt;
     color: #164;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-def {&lt;br /&gt;
     color: #00f;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-variable, .cm-s-default .cm-punctuation, .cm-s-default .cm-property, .cm-s-default .cm-operator {&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-variable-2 {&lt;br /&gt;
     color: #05a;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-variable-3, .cm-s-default .cm-type {&lt;br /&gt;
     color: #085;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-comment {&lt;br /&gt;
     color: #a50;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-string {&lt;br /&gt;
     color: #a11;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-string-2 {&lt;br /&gt;
     color: #f50;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-meta {&lt;br /&gt;
     color: #555;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-qualifier {&lt;br /&gt;
     color: #555;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-builtin {&lt;br /&gt;
     color: #30a;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-bracket {&lt;br /&gt;
     color: #997;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-tag {&lt;br /&gt;
     color: #170;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-attribute {&lt;br /&gt;
     color: #00c;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-hr {&lt;br /&gt;
     color: #999;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-link {&lt;br /&gt;
     color: #00c;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-default .cm-error {&lt;br /&gt;
     color: #f00;&lt;br /&gt;
}&lt;br /&gt;
 .cm-invalidchar {&lt;br /&gt;
     color: #f00;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-composing {&lt;br /&gt;
     border-bottom: 2px solid;&lt;br /&gt;
}&lt;br /&gt;
/* Default styles for common addons */&lt;br /&gt;
 div.CodeMirror span.CodeMirror-matchingbracket {&lt;br /&gt;
     color: #0b0;&lt;br /&gt;
}&lt;br /&gt;
 div.CodeMirror span.CodeMirror-nonmatchingbracket {&lt;br /&gt;
     color: #a22;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-matchingtag {&lt;br /&gt;
     background: rgba(255, 150, 0, .3);&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-activeline-background {&lt;br /&gt;
     background: #e8f2ff;&lt;br /&gt;
}&lt;br /&gt;
/* STOP */&lt;br /&gt;
/* The rest of this file contains styles related to the mechanics of the editor. You probably shouldn&#039;t touch them. */&lt;br /&gt;
 .CodeMirror {&lt;br /&gt;
     position: relative;&lt;br /&gt;
     overflow: hidden;&lt;br /&gt;
     background: white;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-scroll {&lt;br /&gt;
     overflow: hidden !important;&lt;br /&gt;
    /* Things will break if this is overridden */&lt;br /&gt;
    /* 30px is the magic margin used to hide the element&#039;s real scrollbars */&lt;br /&gt;
    /* See overflow: hidden in .CodeMirror */&lt;br /&gt;
     margin-bottom: -30px;&lt;br /&gt;
     margin-right: -30px;&lt;br /&gt;
     padding-bottom: 30px;&lt;br /&gt;
     height: 100%;&lt;br /&gt;
     outline: none;&lt;br /&gt;
    /* Prevent dragging from highlighting the element */&lt;br /&gt;
     position: relative;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-sizer {&lt;br /&gt;
     position: relative;&lt;br /&gt;
     border-right: 30px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
/* The fake, visible scrollbars. Used to force redraw during scrolling before actual scrolling happens, thus preventing shaking and flickering artifacts. */&lt;br /&gt;
 .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     z-index: 6;&lt;br /&gt;
     display: none;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-vscrollbar {&lt;br /&gt;
     right: 0;&lt;br /&gt;
     top: 0;&lt;br /&gt;
     overflow-x: hidden;&lt;br /&gt;
     overflow-y: scroll;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-hscrollbar {&lt;br /&gt;
     bottom: 0;&lt;br /&gt;
     left: 0;&lt;br /&gt;
     overflow-y: hidden;&lt;br /&gt;
     overflow-x: scroll;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-scrollbar-filler {&lt;br /&gt;
     right: 0;&lt;br /&gt;
     bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter-filler {&lt;br /&gt;
     left: 0;&lt;br /&gt;
     bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutters {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     left: 0;&lt;br /&gt;
     top: 0;&lt;br /&gt;
     min-height: 100%;&lt;br /&gt;
     z-index: 3;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter {&lt;br /&gt;
     white-space: normal;&lt;br /&gt;
     height: 100%;&lt;br /&gt;
     display: inline-block;&lt;br /&gt;
     vertical-align: top;&lt;br /&gt;
     margin-bottom: -30px;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter-wrapper {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     z-index: 4;&lt;br /&gt;
     background: none !important;&lt;br /&gt;
     border: none !important;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter-background {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     top: 0;&lt;br /&gt;
     bottom: 0;&lt;br /&gt;
     z-index: 4;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter-elt {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     cursor: default;&lt;br /&gt;
     z-index: 4;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter-wrapper ::selection {&lt;br /&gt;
     background-color: transparent &lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-gutter-wrapper ::-moz-selection {&lt;br /&gt;
     background-color: transparent &lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lines {&lt;br /&gt;
     cursor: text;&lt;br /&gt;
     min-height: 1px;&lt;br /&gt;
    /* prevents collapsing before first draw */&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror pre {&lt;br /&gt;
    /* Reset some styles that the rest of the page might have set */&lt;br /&gt;
     -moz-border-radius: 0;&lt;br /&gt;
     -webkit-border-radius: 0;&lt;br /&gt;
     border-radius: 0;&lt;br /&gt;
     border-width: 0;&lt;br /&gt;
     background: transparent;&lt;br /&gt;
     font-family: inherit;&lt;br /&gt;
     font-size: inherit;&lt;br /&gt;
     margin: 0;&lt;br /&gt;
     white-space: pre;&lt;br /&gt;
     word-wrap: normal;&lt;br /&gt;
     line-height: inherit;&lt;br /&gt;
     color: inherit;&lt;br /&gt;
     z-index: 2;&lt;br /&gt;
     position: relative;&lt;br /&gt;
     overflow: visible;&lt;br /&gt;
     -webkit-tap-highlight-color: transparent;&lt;br /&gt;
     -webkit-font-variant-ligatures: contextual;&lt;br /&gt;
     font-variant-ligatures: contextual;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-wrap pre {&lt;br /&gt;
     word-wrap: break-word;&lt;br /&gt;
     white-space: pre-wrap;&lt;br /&gt;
     word-break: normal;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-linebackground {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     left: 0;&lt;br /&gt;
     right: 0;&lt;br /&gt;
     top: 0;&lt;br /&gt;
     bottom: 0;&lt;br /&gt;
     z-index: 0;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-linewidget {&lt;br /&gt;
     position: relative;&lt;br /&gt;
     z-index: 2;&lt;br /&gt;
     padding: 0.1px;&lt;br /&gt;
    /* Force widget margins to stay inside of the container */&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-widget {&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-rtl pre {&lt;br /&gt;
     direction: rtl;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-code {&lt;br /&gt;
     font-family: &amp;quot;Lucida Console&amp;quot;, &amp;quot;Lucida Sans Typewriter&amp;quot;, monospace !important;&lt;br /&gt;
     font-size: 16px;&lt;br /&gt;
     outline: none;&lt;br /&gt;
}&lt;br /&gt;
/* Force content-box sizing for the elements where we expect it */&lt;br /&gt;
 .CodeMirror-scroll, .CodeMirror-sizer, .CodeMirror-gutter, .CodeMirror-gutters, .CodeMirror-linenumber {&lt;br /&gt;
     -moz-box-sizing: content-box;&lt;br /&gt;
     box-sizing: content-box;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-measure {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     width: 100%;&lt;br /&gt;
     height: 0;&lt;br /&gt;
     overflow: hidden;&lt;br /&gt;
     visibility: hidden;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-cursor {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-measure pre {&lt;br /&gt;
     position: static;&lt;br /&gt;
}&lt;br /&gt;
 div.CodeMirror-cursors {&lt;br /&gt;
     visibility: hidden;&lt;br /&gt;
     position: relative;&lt;br /&gt;
     z-index: 3;&lt;br /&gt;
}&lt;br /&gt;
 div.CodeMirror-dragcursors {&lt;br /&gt;
     visibility: visible;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-focused div.CodeMirror-cursors {&lt;br /&gt;
     visibility: visible;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-selected {&lt;br /&gt;
     background: #d9d9d9;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-focused .CodeMirror-selected {&lt;br /&gt;
     background: #d7d4f0;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-crosshair {&lt;br /&gt;
     cursor: crosshair;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-line::selection, .CodeMirror-line &amp;gt; span::selection, .CodeMirror-line &amp;gt; span &amp;gt; span::selection {&lt;br /&gt;
     background: #d7d4f0;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-line::-moz-selection, .CodeMirror-line &amp;gt; span::-moz-selection, .CodeMirror-line &amp;gt; span &amp;gt; span::-moz-selection {&lt;br /&gt;
     background: #d7d4f0;&lt;br /&gt;
}&lt;br /&gt;
 .cm-searching {&lt;br /&gt;
     background-color: #ffa;&lt;br /&gt;
     background-color: rgba(255, 255, 0, .4);&lt;br /&gt;
}&lt;br /&gt;
/* Used to force a border model for a node */&lt;br /&gt;
 .cm-force-border {&lt;br /&gt;
     padding-right: .1px;&lt;br /&gt;
}&lt;br /&gt;
 @media print {&lt;br /&gt;
    /* Hide the cursor when printing */&lt;br /&gt;
     .CodeMirror div.CodeMirror-cursors {&lt;br /&gt;
         visibility: hidden;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
/* See issue #2901 */&lt;br /&gt;
 .cm-tab-wrap-hack:after {&lt;br /&gt;
     content: &#039;&#039;;&lt;br /&gt;
}&lt;br /&gt;
/* Help users use markselection to safely style text background */&lt;br /&gt;
 span.CodeMirror-selectedtext {&lt;br /&gt;
     background: none;&lt;br /&gt;
}&lt;br /&gt;
/* foldgutter */&lt;br /&gt;
 .CodeMirror-foldmarker {&lt;br /&gt;
     color: blue;&lt;br /&gt;
     text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;&lt;br /&gt;
     font-family: arial;&lt;br /&gt;
     line-height: .3;&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-foldgutter {&lt;br /&gt;
     width: .7em;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-foldgutter-open:after {&lt;br /&gt;
     content: &amp;quot;\25BE&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-foldgutter-folded:after {&lt;br /&gt;
     content: &amp;quot;\25B8&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
/* The lint marker gutter */&lt;br /&gt;
 .CodeMirror-lint-markers {&lt;br /&gt;
     width: 16px;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-tooltip {&lt;br /&gt;
     background-color: #ffd;&lt;br /&gt;
     border: 1px solid black;&lt;br /&gt;
     border-radius: 4px 4px 4px 4px;&lt;br /&gt;
     color: black;&lt;br /&gt;
     font-family: monospace;&lt;br /&gt;
     font-size: 10pt;&lt;br /&gt;
     overflow: hidden;&lt;br /&gt;
     padding: 2px 5px;&lt;br /&gt;
     position: fixed;&lt;br /&gt;
     white-space: pre;&lt;br /&gt;
     white-space: pre-wrap;&lt;br /&gt;
     z-index: 100;&lt;br /&gt;
     max-width: 600px;&lt;br /&gt;
     opacity: 0;&lt;br /&gt;
     transition: opacity .4s;&lt;br /&gt;
     -moz-transition: opacity .4s;&lt;br /&gt;
     -webkit-transition: opacity .4s;&lt;br /&gt;
     -o-transition: opacity .4s;&lt;br /&gt;
     -ms-transition: opacity .4s;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning {&lt;br /&gt;
     background-position: left bottom;&lt;br /&gt;
     background-repeat: repeat-x;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-mark-error {&lt;br /&gt;
     background-image: url(&amp;quot;data:image/png;&lt;br /&gt;
    base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-mark-warning {&lt;br /&gt;
     background-image: url(&amp;quot;data:image/png;&lt;br /&gt;
    base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning {&lt;br /&gt;
     background-position: center center;&lt;br /&gt;
     background-repeat: no-repeat;&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
     display: inline-block;&lt;br /&gt;
     height: 16px;&lt;br /&gt;
     width: 16px;&lt;br /&gt;
     vertical-align: middle;&lt;br /&gt;
     position: relative;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-message-error, .CodeMirror-lint-message-warning {&lt;br /&gt;
     padding-left: 18px;&lt;br /&gt;
     background-position: top left;&lt;br /&gt;
     background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {&lt;br /&gt;
     background-image: url(&amp;quot;data:image/png;&lt;br /&gt;
    base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {&lt;br /&gt;
     background-image: url(&amp;quot;data:image/png;&lt;br /&gt;
    base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-lint-marker-multiple {&lt;br /&gt;
     background-image: url(&amp;quot;data:image/png;&lt;br /&gt;
    base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC&amp;quot;);&lt;br /&gt;
     background-repeat: no-repeat;&lt;br /&gt;
     background-position: right bottom;&lt;br /&gt;
     width: 100%;&lt;br /&gt;
     height: 100%;&lt;br /&gt;
}&lt;br /&gt;
/* MDN-LIKE Theme - Mozilla Ported to CodeMirror by Peter Kroon &amp;lt;plakroon@gmail.com&amp;gt; Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues GitHub: @peterkroon The mdn-like theme is inspired on the displayed code examples at: https://developer.mozilla.org/en-US/docs/Web/CSS/animation */&lt;br /&gt;
 .cm-s-mdn-like.CodeMirror {&lt;br /&gt;
     color: #999;&lt;br /&gt;
     background-color: #fff;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like div.CodeMirror-selected {&lt;br /&gt;
     background: #cfc;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line &amp;gt; span::selection, .cm-s-mdn-like .CodeMirror-line &amp;gt; span &amp;gt; span::selection {&lt;br /&gt;
     background: #cfc;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line &amp;gt; span::-moz-selection, .cm-s-mdn-like .CodeMirror-line &amp;gt; span &amp;gt; span::-moz-selection {&lt;br /&gt;
     background: #cfc;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .CodeMirror-gutters, .cm-s-neo .CodeMirror-gutters {&lt;br /&gt;
     background: #f8f8f8;&lt;br /&gt;
     border-left: 6px solid rgba(0,83,159,0.65);&lt;br /&gt;
     color: #333;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .CodeMirror-linenumber, .cm-s-neo .CodeMirror-linenumber {&lt;br /&gt;
     color: #aaa;&lt;br /&gt;
     padding-left: 8px;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .CodeMirror-cursor {&lt;br /&gt;
     border-left: 2px solid #222;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-keyword {&lt;br /&gt;
     color: #6262FF;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-atom {&lt;br /&gt;
     color: #F90;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-number {&lt;br /&gt;
     color: #ca7841;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-def {&lt;br /&gt;
     color: #8DA6CE;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like span.cm-variable-2, .cm-s-mdn-like span.cm-tag {&lt;br /&gt;
     color: #690;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like span.cm-variable-3, .cm-s-mdn-like span.cm-def, .cm-s-mdn-like span.cm-type {&lt;br /&gt;
     color: #07a;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-variable {&lt;br /&gt;
     color: #07a;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-property {&lt;br /&gt;
     color: #905;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-qualifier {&lt;br /&gt;
     color: #690;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-operator {&lt;br /&gt;
     color: #cda869;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-comment {&lt;br /&gt;
     color:#777;&lt;br /&gt;
     font-weight:normal;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-string {&lt;br /&gt;
     color:#07a;&lt;br /&gt;
     font-style:italic;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-string-2 {&lt;br /&gt;
     color:#bd6b18;&lt;br /&gt;
}&lt;br /&gt;
/*?*/&lt;br /&gt;
 .cm-s-mdn-like .cm-meta {&lt;br /&gt;
     color: #000;&lt;br /&gt;
}&lt;br /&gt;
/*?*/&lt;br /&gt;
 .cm-s-mdn-like .cm-builtin {&lt;br /&gt;
     color: #9B7536;&lt;br /&gt;
}&lt;br /&gt;
/*?*/&lt;br /&gt;
 .cm-s-mdn-like .cm-tag {&lt;br /&gt;
     color: #997643;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-attribute {&lt;br /&gt;
     color: #d6bb6d;&lt;br /&gt;
}&lt;br /&gt;
/*?*/&lt;br /&gt;
 .cm-s-mdn-like .cm-header {&lt;br /&gt;
     color: #FF6400;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-hr {&lt;br /&gt;
     color: #AEAEAE;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-link {&lt;br /&gt;
     color:#ad9361;&lt;br /&gt;
     font-style:italic;&lt;br /&gt;
     text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like .cm-error {&lt;br /&gt;
     border-bottom: 1px solid red;&lt;br /&gt;
}&lt;br /&gt;
 div.cm-s-mdn-like .CodeMirror-activeline-background {&lt;br /&gt;
     background: #efefff;&lt;br /&gt;
}&lt;br /&gt;
 div.cm-s-mdn-like span.CodeMirror-matchingbracket {&lt;br /&gt;
     outline:1px solid grey;&lt;br /&gt;
     color: inherit;&lt;br /&gt;
}&lt;br /&gt;
 .cm-s-mdn-like.CodeMirror, .cm-s-neo.CodeMirror {&lt;br /&gt;
     background-image: url(&amp;quot;data:image/png;&lt;br /&gt;
    base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
/* Fullscreen */&lt;br /&gt;
.CodeMirror-fullscreen {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 0; &lt;br /&gt;
    left: 13em; &lt;br /&gt;
    right: 0; &lt;br /&gt;
    bottom: 0;&lt;br /&gt;
    height: auto;&lt;br /&gt;
    z-index: 9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hints */&lt;br /&gt;
.CodeMirror-hints {&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     z-index: 10;&lt;br /&gt;
     overflow: hidden;&lt;br /&gt;
     list-style: none;&lt;br /&gt;
     margin: 0;&lt;br /&gt;
     padding: 2px;&lt;br /&gt;
     -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);&lt;br /&gt;
     -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);&lt;br /&gt;
     box-shadow: 2px 3px 5px rgba(0,0,0,.2);&lt;br /&gt;
     border-radius: 3px;&lt;br /&gt;
     border: 1px solid silver;&lt;br /&gt;
     background: white;&lt;br /&gt;
     font-size: 90%;&lt;br /&gt;
     font-family: monospace;&lt;br /&gt;
     max-height: 20em;&lt;br /&gt;
     overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
 .CodeMirror-hint {&lt;br /&gt;
     margin: 0;&lt;br /&gt;
     padding: 0 4px;&lt;br /&gt;
     border-radius: 2px;&lt;br /&gt;
     white-space: pre;&lt;br /&gt;
     color: black;&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
 li.CodeMirror-hint-active {&lt;br /&gt;
     background: #08f;&lt;br /&gt;
     color: white;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Dialog */&lt;br /&gt;
.CodeMirror-dialog {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0; right: 0;&lt;br /&gt;
  background: inherit;&lt;br /&gt;
  z-index: 15;&lt;br /&gt;
  padding: .1em .8em;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
  color: inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-dialog-top {&lt;br /&gt;
  border-bottom: 1px solid #eee;&lt;br /&gt;
  top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-dialog-bottom {&lt;br /&gt;
  border-top: 1px solid #eee;&lt;br /&gt;
  bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-dialog input {&lt;br /&gt;
  border: none;&lt;br /&gt;
  outline: none;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  width: 20em;&lt;br /&gt;
  color: inherit;&lt;br /&gt;
  font-family: monospace;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-dialog button {&lt;br /&gt;
  font-size: 70%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tern */&lt;br /&gt;
.CodeMirror-Tern-completion {&lt;br /&gt;
  padding-left: 22px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion:before {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 2px;&lt;br /&gt;
  bottom: 2px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  font-size: 12px;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
  height: 15px;&lt;br /&gt;
  width: 15px;&lt;br /&gt;
  line-height: 16px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  color: white;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-unknown:before {&lt;br /&gt;
  content: &amp;quot;?&amp;quot;;&lt;br /&gt;
  background: #4bb;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-object:before {&lt;br /&gt;
  content: &amp;quot;O&amp;quot;;&lt;br /&gt;
  background: #77c;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-fn:before {&lt;br /&gt;
  content: &amp;quot;F&amp;quot;;&lt;br /&gt;
  background: #7c7;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-array:before {&lt;br /&gt;
  content: &amp;quot;A&amp;quot;;&lt;br /&gt;
  background: #c66;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-number:before {&lt;br /&gt;
  content: &amp;quot;1&amp;quot;;&lt;br /&gt;
  background: #999;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-string:before {&lt;br /&gt;
  content: &amp;quot;S&amp;quot;;&lt;br /&gt;
  background: #999;&lt;br /&gt;
}&lt;br /&gt;
.CodeMirror-Tern-completion-bool:before {&lt;br /&gt;
  content: &amp;quot;B&amp;quot;;&lt;br /&gt;
  background: #999;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-Tern-completion-guess {&lt;br /&gt;
  color: #999;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-Tern-tooltip {&lt;br /&gt;
  border: 1px solid silver;&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  color: #444;&lt;br /&gt;
  padding: 2px 5px;&lt;br /&gt;
  font-size: 90%;&lt;br /&gt;
  font-family: monospace;&lt;br /&gt;
  background-color: white;&lt;br /&gt;
  white-space: pre-wrap;&lt;br /&gt;
&lt;br /&gt;
  max-width: 40em;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  z-index: 10;&lt;br /&gt;
  -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);&lt;br /&gt;
  -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);&lt;br /&gt;
  box-shadow: 2px 3px 5px rgba(0,0,0,.2);&lt;br /&gt;
&lt;br /&gt;
  transition: opacity 1s;&lt;br /&gt;
  -moz-transition: opacity 1s;&lt;br /&gt;
  -webkit-transition: opacity 1s;&lt;br /&gt;
  -o-transition: opacity 1s;&lt;br /&gt;
  -ms-transition: opacity 1s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-Tern-hint-doc {&lt;br /&gt;
  max-width: 25em;&lt;br /&gt;
  margin-top: -3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.CodeMirror-Tern-fname { color: black; }&lt;br /&gt;
.CodeMirror-Tern-farg { color: #70a; }&lt;br /&gt;
.CodeMirror-Tern-farg-current { text-decoration: underline; }&lt;br /&gt;
.CodeMirror-Tern-type { color: #07c; }&lt;br /&gt;
.CodeMirror-Tern-fhint-guess { opacity: .7; }&lt;br /&gt;
&lt;br /&gt;
/* neo theme for codemirror */&lt;br /&gt;
&lt;br /&gt;
/* Color scheme */&lt;br /&gt;
&lt;br /&gt;
.cm-s-neo.CodeMirror {&lt;br /&gt;
  background-color:#ffffff;&lt;br /&gt;
  color:#2e383c;&lt;br /&gt;
  line-height:1.4375;&lt;br /&gt;
}&lt;br /&gt;
.cm-s-neo .cm-comment { color:#75787b; }&lt;br /&gt;
.cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }&lt;br /&gt;
.cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; }&lt;br /&gt;
.cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; }&lt;br /&gt;
.cm-s-neo .cm-string { color:#b35e14; }&lt;br /&gt;
.cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Editor styling */&lt;br /&gt;
&lt;br /&gt;
.cm-s-neo pre {&lt;br /&gt;
  padding:0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }&lt;br /&gt;
.cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }&lt;br /&gt;
&lt;br /&gt;
/*---------------------------------------------------------------*/&lt;br /&gt;
/* Universal */&lt;br /&gt;
 button{&lt;br /&gt;
     float: left;&lt;br /&gt;
     line-height: 1.3;&lt;br /&gt;
     padding: 5px 8px;&lt;br /&gt;
}&lt;br /&gt;
 button.run {&lt;br /&gt;
     background-image: linear-gradient(to bottom, #337AB7 0px, #265A88 100%);&lt;br /&gt;
     background-color: #306AA0;&lt;br /&gt;
     border-radius: 6px;&lt;br /&gt;
     border-color: #245580;&lt;br /&gt;
     border-width: 1px;&lt;br /&gt;
     color: #FFF;&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
     font-size: 18px;&lt;br /&gt;
}&lt;br /&gt;
 button.other {&lt;br /&gt;
     border-radius: 0.5ex;&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
     display: inline;&lt;br /&gt;
     border: 1px solid;&lt;br /&gt;
     float: right;&lt;br /&gt;
     font-size: 14px;&lt;br /&gt;
     margin-left: 0.25em;&lt;br /&gt;
}&lt;br /&gt;
 code {&lt;br /&gt;
     background-color: #e6e6e6;&lt;br /&gt;
}&lt;br /&gt;
 div.guidelist{&lt;br /&gt;
     float: right;&lt;br /&gt;
     width: 32ex;&lt;br /&gt;
     border-left: 1px solid;&lt;br /&gt;
     border-right: 1px solid;&lt;br /&gt;
     background-color: #F0F0FF;&lt;br /&gt;
     border-collapse: collapse;&lt;br /&gt;
     border-bottom: 1px solid;&lt;br /&gt;
     margin-bottom: 2%;&lt;br /&gt;
     padding-left: 0px;&lt;br /&gt;
}&lt;br /&gt;
 div.guidelist div.fc {&lt;br /&gt;
     padding: 1em;&lt;br /&gt;
     background-color: #000;&lt;br /&gt;
     color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
 div.guidelist div {&lt;br /&gt;
     padding: 0ex 1em;&lt;br /&gt;
     border-bottom: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
div.res.waiting {&lt;br /&gt;
     background-image: url(/mw/design/spinner.gif) !important;&lt;br /&gt;
     background-repeat: no-repeat !important;;&lt;br /&gt;
     background-position: center center !important;;&lt;br /&gt;
     height: 180px;&lt;br /&gt;
}&lt;br /&gt;
 h1#firstHeading{&lt;br /&gt;
     overflow-x: hidden;&lt;br /&gt;
}&lt;br /&gt;
 pre{&lt;br /&gt;
     border-color: #949494;&lt;br /&gt;
     white-space: pre-wrap;&lt;br /&gt;
    /* CSS 3 */&lt;br /&gt;
     white-space: -moz-pre-wrap;&lt;br /&gt;
    /* Mozilla, since 1999 */&lt;br /&gt;
     white-space: -pre-wrap;&lt;br /&gt;
    /* Opera 4-6 */&lt;br /&gt;
     white-space: -o-pre-wrap;&lt;br /&gt;
    /* Opera 7 */&lt;br /&gt;
     word-wrap: break-word;&lt;br /&gt;
    /* Internet Explorer 5.5+ */&lt;br /&gt;
}&lt;br /&gt;
 span.id{&lt;br /&gt;
     font-size:300%;&lt;br /&gt;
     padding-right:1ex &lt;br /&gt;
}&lt;br /&gt;
 textarea{&lt;br /&gt;
     background: #F9F9F9;&lt;br /&gt;
     font-family: &amp;quot;Lucida Console&amp;quot;, &amp;quot;Lucida Sans Typewriter&amp;quot;, monospace;&lt;br /&gt;
     font-size: 16px;&lt;br /&gt;
     margin: 1em 0;&lt;br /&gt;
     min-height: 150px;&lt;br /&gt;
     resize: vertical;&lt;br /&gt;
}&lt;br /&gt;
 .strong{&lt;br /&gt;
     font-weight:bold;&lt;br /&gt;
}&lt;br /&gt;
 .tease {&lt;br /&gt;
     color: #1D365D;&lt;br /&gt;
     font-style: italic;&lt;br /&gt;
     cursor: pointer;&lt;br /&gt;
     padding: 0.2ex;&lt;br /&gt;
}&lt;br /&gt;
 .q{&lt;br /&gt;
     border-top: thin solid #ee8301;&lt;br /&gt;
     margin-bottom: 9em;&lt;br /&gt;
     width: 100%;&lt;br /&gt;
}&lt;br /&gt;
 .q .ans, .q .def, .q .res{&lt;br /&gt;
     font-weight: normal;&lt;br /&gt;
     display: none;&lt;br /&gt;
}&lt;br /&gt;
 .q .res{&lt;br /&gt;
     background: rgba(246, 246, 246, 1);&lt;br /&gt;
     border: solid thin black;&lt;br /&gt;
     border-radius: 0.5ex;&lt;br /&gt;
     border-style: inset;&lt;br /&gt;
     border-width: 1px;&lt;br /&gt;
     box-shadow: 1px 1px 3px #3b434e;&lt;br /&gt;
     color: #3b434e;&lt;br /&gt;
     clear:both;&lt;br /&gt;
     height: auto;&lt;br /&gt;
     margin-top: 1ex;&lt;br /&gt;
     max-width: 100%;&lt;br /&gt;
     overflow: auto;&lt;br /&gt;
     padding: 1em;&lt;br /&gt;
     resize: both;&lt;br /&gt;
}&lt;br /&gt;
 .setup{&lt;br /&gt;
     display: none;&lt;br /&gt;
}&lt;br /&gt;
 .tease{&lt;br /&gt;
     color:#1d365d;&lt;br /&gt;
     font-style:italic;&lt;br /&gt;
     cursor:pointer;&lt;br /&gt;
     padding: 0.2ex;&lt;br /&gt;
}&lt;br /&gt;
 @media all and (max-width: 768px){&lt;br /&gt;
     div.vectorTabs{&lt;br /&gt;
         padding: 0;&lt;br /&gt;
    }&lt;br /&gt;
     .guidelist{&lt;br /&gt;
         display: none;&lt;br /&gt;
    }&lt;br /&gt;
     .mw-body{&lt;br /&gt;
         border-left: 0;&lt;br /&gt;
         margin-left: 0;&lt;br /&gt;
    }&lt;br /&gt;
     div#footer{&lt;br /&gt;
         margin-left: 0;&lt;br /&gt;
    }&lt;br /&gt;
     #mw-panel{&lt;br /&gt;
         display:none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 .qcorrect{&lt;br /&gt;
     background-image: url(//sqlzoo.net/design/done9.png);&lt;br /&gt;
}&lt;br /&gt;
 .qincorrect {&lt;br /&gt;
     background-image:url(//sqlzoo.net/design/undone9.png);&lt;br /&gt;
}&lt;br /&gt;
 .qcorrect, .qincorrect {&lt;br /&gt;
     width: 3em;&lt;br /&gt;
     height: 3em;&lt;br /&gt;
     position: absolute;&lt;br /&gt;
     margin: 0em 0 0 5em;&lt;br /&gt;
     background-size: 3em;&lt;br /&gt;
     background-repeat: no-repeat;&lt;br /&gt;
     background-position: center;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=MediaWiki:Cookiewarning-more-link&amp;diff=1305</id>
		<title>MediaWiki:Cookiewarning-more-link</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=MediaWiki:Cookiewarning-more-link&amp;diff=1305"/>
		<updated>2018-10-16T15:22:37Z</updated>

		<summary type="html">&lt;p&gt;40166222: Created page with &amp;quot;https://nosqlzoo.net/wiki/NoSQLZoo:Privacy_policy&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://nosqlzoo.net/wiki/NoSQLZoo:Privacy_policy&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
	<entry>
		<id>https://nosqlzoo.net/w/index.php?title=NoSQLZoo:Privacy_policy&amp;diff=1304</id>
		<title>NoSQLZoo:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://nosqlzoo.net/w/index.php?title=NoSQLZoo:Privacy_policy&amp;diff=1304"/>
		<updated>2018-10-16T15:17:00Z</updated>

		<summary type="html">&lt;p&gt;40166222: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Data Usage==&lt;br /&gt;
This site uses cookies and local storage to record your interactions and provide certain functionality. A history of your interactions is maintained for the convenience of users. This user data is reviewed for the purpose of improving the content. Investigations on the patterns of usage may be published only after ensuring that user anonymity is preserved. By continuing to use NoSQLZoo, you are giving your consent to the anonymised data being used for research purposes.&lt;br /&gt;
&lt;br /&gt;
==What are cookies?==&lt;br /&gt;
Cookies are small text files that NoSQLZoo and other sites place on your computer to to enable various functions, such as remembering your preferences. NoSQLZoo relies on both its own cookies and the default cookies provided by MediaWiki for various pieces of functionality. You are free to block any and all cookies on this website, but this may make certain aspects of the website inoperable.&lt;br /&gt;
&lt;br /&gt;
==Google Analytics==&lt;br /&gt;
This website also makes use of Google Analytics. Should you wish to opt out of your usage data being collected in this manner, you can do so by installing the following add on: [https://tools.google.com/dlpage/gaoptout Google Analytics OptOut] or through an advertisement blocker of your choice.&lt;/div&gt;</summary>
		<author><name>40166222</name></author>
	</entry>
</feed>