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

Difference between revisions of "Iterate"

From NoSQLZoo
Jump to: navigation, search
m
m
Line 3: Line 3:
 
<div class="q nonum" data-lang="mongo">
 
<div class="q nonum" data-lang="mongo">
 
<p class="strong">Iterating countries in South America stored in the 'world' collection.</p>
 
<p class="strong">Iterating countries in South America stored in the 'world' collection.</p>
<pre class="def nonum"><nowiki>
+
<pre class="def"><nowiki>
 
let cursor = db.world.find({continent: "South America"});
 
let cursor = db.world.find({continent: "South America"});
 
while (cursor.hasNext()) {
 
while (cursor.hasNext()) {
Line 11: Line 11:
  
 
<div class="q nonum" data-lang="mongo">
 
<div class="q nonum" data-lang="mongo">
<pre class=def>
+
<pre class="def"><nowiki>
let cursor = db.world.find({continent:"South America"})
+
let cursor = db.world.find({continent: "South America"});
 
cursor.forEach(printjson);
 
cursor.forEach(printjson);
</pre>
+
</pre></nowiki>
 
</div>
 
</div>
  

Revision as of 17:33, 18 July 2018

MongoDB's find() method returns a cursor object which can be iterated using while, hasNext() and next, or by using forEach().

Iterating countries in South America stored in the 'world' collection.

let cursor = db.world.find({continent: "South America"});
while (cursor.hasNext()) {
   printjson(cursor.next());
}
<nowiki>
let cursor = db.world.find({continent: "South America"});
cursor.forEach(printjson);
</nowiki>

Cursors can also be converted to other JavaScript collection types, such as arrays.
In the following example an array is used to find the nth record in a result as an alternative to .find().skip(n).limit(1)

Find the 3rd result of the previous example.

db.world.find({continent:"South America"}).toArray()[3]