Cookies help us deliver our services. By using our services, you agree to our use of cookies. More information

Difference between revisions of "FIND Tutorial"

From NoSQLZoo
Jump to: navigation, search
(Improved markup, added .sort() calls to some answers and definitions.)
Line 1: Line 1:
 
==Working with the <code>world</code> collection of countries==
 
==Working with the <code>world</code> collection of countries==
<p>This tutorial introduces NoSQL using MongoDB. We will be using the <code>find()</code> command and comparison functions on the collection '''world''' which contains details of around 250 countries of the world:</p>
+
<p>
 +
  This tutorial introduces NoSQL using MongoDB. We will be using the <code>find()</code>
 +
  command and comparison functions on the collection '''world''' which contains details of around 250 countries of the world:
 +
</p>
 
[[FIND examples]] are available.
 
[[FIND examples]] are available.
<div class='extra_space' style='width:1em; height:6em;'></div>
+
<div class='extra_space' style='width:1em; height:6em;' />
 
==Show Germany==
 
==Show Germany==
<div class=q data-lang="mongo">
+
<div class="q" data-lang="mongo">
Use <code>find()</code> to show the details of Germany
+
  Use <code>find()</code> to show the details of Germany.
<p class=strong>Show Germany instead of France</p>
+
  <p class="strong">
<pre class=def>
+
    Show Germany instead of France.
db.world.find({name:'France'})
+
  </p>
</pre>
+
  <pre class="def">db.world.find({name:'France'})</pre>
<div class=ans>
+
  <div class="ans">db.world.find({name:'Germany'})</div>
db.world.find({name:'Germany'})
 
 
</div>
 
</div>
</div>
 
 
 
==Eurasia==
 
==Eurasia==
<div class=q data-lang="mongo">
+
<div class="q" data-lang="mongo">
You can use .pretty() to make the output more readable.
+
  You can use .pretty() to make the output more readable.
<p class=strong>List all the countries in the continent of "Eurasia"</p>
+
  <p class="strong">
<pre class=def>
+
    List all the countries in the continent of "Eurasia".
db.world.find({name:'Germany'}).pretty()
+
  </p>
</pre>
+
  <pre class="def">db.world.find({name:'Germany'}).pretty()</pre>
<div class=ans>
+
  <div class="ans">db.world.find({continent:"Eurasia"}).pretty()</div>
db.world.find({continent:"Eurasia"}).pretty()
 
</div>
 
 
</div>
 
</div>
 
 
==Find an area==
 
==Find an area==
<div class=q data-lang="mongo">
+
<div class="q" data-lang="mongo">
You can test numbers as well as strings
+
  You can test numbers as well as strings
<p class=strong>Find the country with an area of exactly 43094</p>
+
  <p class="strong">
<pre class=def>
+
    Find the country with an area of exactly 43094.
db.world.find({gdp:3425956000000}).pretty()
+
  </p>
</pre>
+
  <pre class="def">db.world.find({gdp:3425956000000}).pretty()</pre>
<div class=ans>
+
  <div class="ans">db.world.find({area:43094}).pretty()</div>
db.world.find({area:43094}).pretty()
 
</div>
 
 
</div>
 
</div>
 
 
==Using $gt==
 
==Using $gt==
<div class=q data-lang="mongo">
+
<div class="q" data-lang="mongo">
You can use $gt and $lt to compare numbers and strings ('''$gt''' is greater than, '''$lt''' is less than)
+
  You can use '''$gt''' (greater than) and '''$lt''' (less than) to compare numbers and strings.
<p class=strong>Show each country with a population of over 250000000</p>
+
    <p class="strong">
<pre class=def>
+
      Show each country with a population of over 250000000 <br/>
 +
      Sort the results alphabetically.
 +
    </p>
 +
    <pre class="def">
 
db.world.find(
 
db.world.find(
    {area:{$gt:9000000}},
+
  {area:{$gt:9000000}},
    {name:1,_id:0}
+
  {name:1,_id:0}
 +
).sort(
 +
  {name: 1}
 
).pretty()
 
).pretty()
</pre>
+
    </pre>
<div class=ans>
+
    <div class="ans">
db.world.find({population:{$gt:250000000}},{name:1,_id:0}).pretty()
+
      db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty()
</div>
+
    </div>
 
</div>
 
</div>
 
 
==After S==
 
==After S==
<div class=q data-lang="mongo">
+
<div class="q" data-lang="mongo">
<p class=strong>List the countries that come after "S" in the alphabet</p>
+
  <p class="strong">
<pre class=def>
+
    List the countries that come after "S" in the alphabet.
</pre>
+
  </p>
<div class=ans>
+
  <pre class="def">db.world.findOne()</pre>
 +
  <div class="ans">
 
db.world.find(
 
db.world.find(
    {name:{$gt:"S"}},
+
  {name:{$gt: "S"}},
    {name:1,_id:0}
+
  {name:1, _id:0}
 
).pretty()
 
).pretty()
 +
  </div>
 
</div>
 
</div>
</div>
 
 
 
==Name and Capital==
 
==Name and Capital==
<div class=q data-lang="mongo">
+
<div class="q" data-lang="mongo">
<p class=strong>Find the name and capital cities for countries with a population of over 70 million</p>
+
  <p class="strong">
<pre class=def>
+
    Find the name and capital cities for countries with a population of over 70 million.
</pre>
+
  </p>
<div class=ans>
+
  <pre class="def">db.world.findOne()</pre>
 +
  <div class="ans">
 
db.world.find(
 
db.world.find(
    {population:{$gt:70000000}},
+
  {population:{$gt:70000000}},
    {name:1,capital:1,_id:0}
+
  {name:1,capital:1,_id:0}
 
).pretty()
 
).pretty()
 +
  </div>
 
</div>
 
</div>
</div>
 
 
 
==Using $or==
 
==Using $or==
 
<div class=q data-lang=mongo>
 
<div class=q data-lang=mongo>
<p class=strong>Find the countries that have a population of over 200 million or less than 20,000</p>
+
  <p class="strong">
<pre class=def>
+
    Find the countries that have a population that is over 200 million or less than 20,000.
db.world.find({$or:[{name:'Germany'},
+
  </p>
                    {name:'France'}]},
+
  <pre class="def">
              {name:1,population:1,_id:0})
+
db.world.find(
</pre>
+
  {$or:[
<div class=ans>
+
    {name:'Germany'},
db.world.find({$or:[{population:{$gt:200000000}},
+
    {name:'France'}
                    {population:{$lt:20000     }}]},
+
  ]},
              {name:1,population:1,_id:0})
+
  {name:1, population:1, _id:0}
</div>
+
)
 +
  </pre>
 +
  <div class="ans">
 +
    db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})
 +
  </div>
 
</div>
 
</div>

Revision as of 17:34, 21 March 2018

Working with the world collection of countries

This tutorial introduces NoSQL using MongoDB. We will be using the find() command and comparison functions on the collection world which contains details of around 250 countries of the world:

FIND examples are available.

Show Germany

 Use find() to show the details of Germany.

Show Germany instead of France.

db.world.find({name:'France'})
db.world.find({name:'Germany'})

Eurasia

 You can use .pretty() to make the output more readable.

List all the countries in the continent of "Eurasia".

db.world.find({name:'Germany'}).pretty()
db.world.find({continent:"Eurasia"}).pretty()

Find an area

 You can test numbers as well as strings

Find the country with an area of exactly 43094.

db.world.find({gdp:3425956000000}).pretty()
db.world.find({area:43094}).pretty()

Using $gt

 You can use $gt (greater than) and $lt (less than) to compare numbers and strings.

Show each country with a population of over 250000000
Sort the results alphabetically.

db.world.find(
  {area:{$gt:9000000}},
  {name:1,_id:0}
).sort(
  {name: 1}
).pretty()
    
     db.world.find({population:{$gt:250000000}},{name:1,_id:0}).sort({name: 1}).pretty()

After S

List the countries that come after "S" in the alphabet.

db.world.findOne()

db.world.find(

 {name:{$gt: "S"}},
 {name:1, _id:0}

).pretty()

Name and Capital

Find the name and capital cities for countries with a population of over 70 million.

db.world.findOne()

db.world.find(

 {population:{$gt:70000000}},
 {name:1,capital:1,_id:0}

).pretty()

Using $or

Find the countries that have a population that is over 200 million or less than 20,000.

db.world.find(
  {$or:[
    {name:'Germany'},
    {name:'France'}
  ]},
  {name:1, population:1, _id:0}
)
  
   db.world.find({$or:[{population:{$gt:200000000}},{population:{$lt:20000}}]},{name:1,population:1,_id:0})