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

Difference between revisions of "Sort"

From NoSQLZoo
Jump to: navigation, search
(Convert old python API code to mongo shell.)
Line 3: Line 3:
 
<code>sort()</code> is a cursor method that orders the results of a query.<br/>
 
<code>sort()</code> is a cursor method that orders the results of a query.<br/>
 
The aggregation framework provides the <code>$sort</code> operator, and <code>map_reduce</code> takes sort as a parameter that is applied to the input documents.<br/><br/>
 
The aggregation framework provides the <code>$sort</code> operator, and <code>map_reduce</code> takes sort as a parameter that is applied to the input documents.<br/><br/>
The syntax for <code>sort()</code> is <code>sort(<field>:<value>)</code> where 1 indicates ascending and -1 indicates descending.<br/>
+
The syntax for <code>sort()</code> is <code>sort({<field>:<value>, <field>:<value>, ...})</code> where 1 indicates ascending and -1 indicates descending.<br/>
 
The order in which fields are specified dictates which fields are sorted first.<br/><br/>
 
The order in which fields are specified dictates which fields are sorted first.<br/><br/>
Python does not store key order for dicts, so instead of the mongo shell <code>{<field1>:<value>,<field2>:<value>}</code> use <code>[(<field1>,<value>), (<field2>,<value>)]</code>
+
</code>
 
</div>
 
</div>
 
<div class="q nonum" data-lang="mongo">Sort all the documents in world by continent descending, then name ascending. Show only name and continent.
 
<div class="q nonum" data-lang="mongo">Sort all the documents in world by continent descending, then name ascending. Show only name and continent.
<pre class=def>
+
<pre class="def">
db.world.find({},{name:1,continent:1,_id:0}).sort([("continent",-1),("name",1)])
+
db.world.find({},{name:1,continent:1,_id:0}).sort({"continent": -1, "name": 1})
 
 
 
</pre>
 
</pre>
 
</div>
 
</div>

Revision as of 02:29, 6 April 2018

sort() is a cursor method that orders the results of a query.
The aggregation framework provides the $sort operator, and map_reduce takes sort as a parameter that is applied to the input documents.

The syntax for sort() is sort({<field>:<value>, <field>:<value>, ...}) where 1 indicates ascending and -1 indicates descending.
The order in which fields are specified dictates which fields are sorted first.

Sort all the documents in world by continent descending, then name ascending. Show only name and continent.
db.world.find({},{name:1,continent:1,_id:0}).sort({"continent": -1, "name": 1})