Actions

Iterate: Difference between revisions

From NoSQLZoo

mNo edit summary
mNo edit summary
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 16: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]
  • You have been served by: dill