{"id":56135,"date":"2018-03-14T15:00:47","date_gmt":"2018-03-14T13:00:47","guid":{"rendered":"http:\/\/examples.javacodegeeks.com\/?p=56135"},"modified":"2018-04-18T15:43:03","modified_gmt":"2018-04-18T12:43:03","slug":"mongodb-max-and-min-example","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/","title":{"rendered":"MongoDB max() and min() Example"},"content":{"rendered":"<p>Hello readers, in this tutorial, we will see the <code>max()<\/code> and <code>min()<\/code> methods available in the Mongo database.<\/p>\n<h2>1. Introduction<\/h2>\n<p>If you have installed the MongoDB application (<em>version 3.6<\/em>) on Windows or Ubuntu operating system and you wish to learn the <code>max()<\/code> and <code>min()<\/code> methods then follow the below steps. It is very simple, but before moving further let&#8217;s take a look at the Mongo database and its characteristics.<\/p>\n<h3>1.1 What is MongoDB?<\/h3>\n<ul>\n<li>MongoDB is a high-performance <em>NoSQL database<\/em> where each database has collections which in turn has documents. Each document has a different number of fields, size, content, and is stored in a JSON-like format (i.e. Binary JSON (<a href=\"https:\/\/en.wikipedia.org\/wiki\/BSON\" target=\"_blank\" rel=\"noopener\">BSN<\/a>))<\/li>\n<li>The documents in MongoDB doesn\u2019t need to have a schema defined beforehand. Instead, the fields (i.e. <em>records<\/em>) can be created on the go<\/li>\n<li>Data model available within the MongoDB allows developers to represent the hierarchical relationships, store arrays, and other more complex structures easily<\/li>\n<li>This NoSQL solution often comes with embedding, auto-sharding, and onboard replication for better scalability and high availability<\/li>\n<\/ul>\n<h4>1.1.1 Why MongoDB?<\/h4>\n<ul>\n<li>As a NoSQL type database, MongoDB stores the data in the form of a document. Thus, MongoDB offers more flexibility<\/li>\n<li>This database supports search by field-name, range queries, and the regular expressions. It often provides queries to return the particular fields inside the documents<\/li>\n<li>MongoDB offers <em>indexes<\/em> to improve the <em>search performance<\/em> within the NoSQL database<\/li>\n<li>To offer horizontal scalability, MongoDB uses sharding by splitting the data across the many MongoDB occurrences<\/li>\n<li><strong>Replication<\/strong>: MongoDB can give high availability with the replica sets<\/li>\n<\/ul>\n<h3>1.2 What is a Cursor in MongoDB?<\/h3>\n<p>In Mongo world, a <strong>cursor<\/strong> is an object that allows developers to iterate through the documents of a Mongo collection. The behavior of cursor allows an automatic iteration across the results of the query; however, developers can explicitly go through the items returned in the cursor object. The below diagram lists <code>4<\/code> documents where the Mongo <em>cursor<\/em> will point to the first document and then iterate through all the other documents of a collection.<\/p>\n<p><figure id=\"attachment_56137\" aria-describedby=\"caption-attachment-56137\" style=\"width: 673px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-archi-guide-1.jpg\"><img decoding=\"async\" class=\"size-full wp-image-56137\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-archi-guide-1.jpg\" alt=\"Fig. 1: Pictorial representation of a Cursor in Mongo collection\" width=\"673\" height=\"492\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-archi-guide-1.jpg 673w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-archi-guide-1-300x219.jpg 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><\/a><figcaption id=\"caption-attachment-56137\" class=\"wp-caption-text\">Fig. 1: Pictorial representation of a Cursor in Mongo collection<\/figcaption><\/figure><\/p>\n<h4>1.2.1 Why Cursor in MongoDB?<\/h4>\n<p>Cursor offers:<\/p>\n<ul>\n<li>A true snapshot of a system i.e. it returns the data in batches and increases the database performance<\/li>\n<li>It saves system memory by allowing batch inserts and updates<\/li>\n<li>Intelligibility and Clarity on the ad-hoc and complex queries of the sequential nature having large result sets and low consistency requirements<\/li>\n<li>Openness to work on small batches of data as developers don\u2019t need to wait for the processing and download of the complete record-set<\/li>\n<\/ul>\n<h2>2. MongoDB max() and min() Example<\/h2>\n<p>In this tutorial, we will learn how to handle the <code>max()<\/code> and <code>min()<\/code> methods provided by the Mongo database.<\/p>\n<h3>2.1 max() method in the Mongo database<\/h3>\n<p>In the Mongo universe, the <code><a href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/cursor.max\/\" target=\"_blank\" rel=\"noopener\">max()<\/a><\/code> method specifies an <em>exclusive<\/em> upper bound for a particular index to drive the results of the <code>db.collection_name.find()<\/code> query. This method provides a way to specify an upper bound on the <a href=\"https:\/\/docs.mongodb.com\/manual\/core\/index-compound\/\" target=\"_blank\" rel=\"noopener\">compound key<\/a> indexes. The <code>cursor.max()<\/code> method has the following prototype form:<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Mongo database &#8216;max()&#8217; Syntax<\/em><\/span><\/p>\n<pre class=\"brush:bash;wrap-lines:false;\">&gt; db.collection_name.find().max(&lt;indexBounds&gt;)\r\n<\/pre>\n<p>Where:<\/p>\n<ul>\n<li>The <code>indexBounds<\/code> is a &#8216;document&#8217; type input argument that exclusively specifies the upper bound for the index keys. This input argument value has the following prototype form:\n<pre class=\"brush:bash;wrap-lines:false;\">{ field1: &lt;max value&gt;, field2: &lt;max value2&gt; ... fieldN:&lt;max valueN&gt; }\r\n<\/pre>\n<\/li>\n<\/ul>\n<p>Do <em>remember:<\/em><\/p>\n<ul>\n<li>The <code>max()<\/code> method requires an index on a field and forces the Mongo query to use <em>this<\/em> index<\/li>\n<li>The <code>max()<\/code> method <span style=\"text-decoration: underline;\">primarily exists to support<\/span> the <em>sharding<\/em> process in the Mongo database<\/li>\n<li>If developers use the <code>max()<\/code> method with <code>min()<\/code>, they should note that the index bounds specified in the <code>max()<\/code> and <code>min()<\/code> methods must refer to the keys of the same index<\/li>\n<\/ul>\n<h3>2.2 min() method in the Mongo database<\/h3>\n<p>In the Mongo universe, the <code><a href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/cursor.min\/\" target=\"_blank\" rel=\"noopener\">min()<\/a><\/code> method specifies an <em>inclusive<\/em> lower bound for a particular index to drive the results of the <code>db.collection_name.find()<\/code> query. This method provides a way to specify a lower bound on the <a href=\"https:\/\/docs.mongodb.com\/manual\/core\/index-compound\/\" target=\"_blank\" rel=\"noopener\">compound key<\/a> indexes. The <code>cursor.min()<\/code> method has the following prototype form:<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><span style=\"text-decoration: underline;\"><em>Mongo database &#8216;min()&#8217; Syntax<\/em><\/span><\/p>\n<pre class=\"brush:bash;wrap-lines:false;\">&gt; db.collection_name.find().min(&lt;indexBounds&gt;)\r\n<\/pre>\n<p>Where:<\/p>\n<ul>\n<li>The <code>indexBounds<\/code> is a &#8216;document&#8217; type input argument that inclusively specifies the lower bound for the index keys. This input argument value has the following prototype form:\n<pre class=\"brush:bash;wrap-lines:false;\">{ field1: &lt;max value&gt;, field2: &lt;max value2&gt; ... fieldN:&lt;max valueN&gt; }\r\n<\/pre>\n<\/li>\n<\/ul>\n<p>Do <em>remember:<\/em><\/p>\n<ul>\n<li>The <code>min()<\/code> method requires an index on a field and forces the Mongo query to use <em>this<\/em> index<\/li>\n<li>The <code>min()<\/code> method <span style=\"text-decoration: underline;\">primarily exists to support<\/span> the <em>sharding<\/em> process in the Mongo database<\/li>\n<li>If developers use the <code>min()<\/code> method with <code>max()<\/code>, they should note that the index bounds specified in the <code>min()<\/code> and <code>max()<\/code> methods must refer to the keys of the same index<\/li>\n<\/ul>\n<h3>2.3 Practical usage<\/h3>\n<p>Let&#8217;s understand the implementation of these methods with the help of the sample snippets.<\/p>\n<h4>2.3.1 Start MongoDB<\/h4>\n<p>Start a standalone <a href=\"https:\/\/docs.mongodb.com\/manual\/reference\/program\/mongod\/#bin.mongod\" target=\"_blank\" rel=\"noopener\">mongod<\/a> instance as shown below.<\/p>\n<p><figure id=\"attachment_56138\" aria-describedby=\"caption-attachment-56138\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-1.jpg\"><img decoding=\"async\" class=\"wp-image-56138\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-1.jpg\" alt=\"Fig. 2: Start Mongo instance\" width=\"820\" height=\"592\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-1.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-1-300x217.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-1-768x555.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56138\" class=\"wp-caption-text\">Fig. 2: Start Mongo instance<\/figcaption><\/figure><\/p>\n<h4>2.3.2 Connect to the Mongo Instance<\/h4>\n<p>Connect with the <a href=\"https:\/\/docs.mongodb.com\/manual\/reference\/program\/mongo\/#bin.mongo\" target=\"_blank\" rel=\"noopener\">mongo<\/a> shell to make a connection with the MongoDB instance on the port <code>27017<\/code> as shown below.<\/p>\n<p><figure id=\"attachment_56139\" aria-describedby=\"caption-attachment-56139\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-2.jpg\"><img decoding=\"async\" class=\"wp-image-56139\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-2.jpg\" alt=\"Fig. 3: Connect to Mongo database\" width=\"820\" height=\"350\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-2.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-2-300x128.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-2-768x327.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56139\" class=\"wp-caption-text\">Fig. 3: Connect to Mongo database<\/figcaption><\/figure><\/p>\n<h4>2.3.3 Create Mongo database and collection<\/h4>\n<p>To begin with the implementation, we will need to create a sample database and collection. The below script creates a database called <code>warehouse<\/code> with a collection of <code>products<\/code>. Open the Mongo terminal and execute the script.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Database &amp; Collection creation script<\/em><\/span><\/p>\n<pre class=\"brush:bash;wrap-lines:false;\">&gt; use warehouse\r\n\r\n&gt; db.products.insertMany( [\r\n\t{ \"_id\" : 5, \"item\" : \"mango\", \"type\" : \"cortland\", \"cost\" : 1.29, \"warrantyYears\" : 1, \"available\" : false },\r\n\t{ \"_id\" : 9, \"item\" : \"mango\", \"type\" : \"fuji\", \"cost\" : 1.99 },\r\n\t{ \"_id\" : 7, \"item\" : \"mango\", \"type\" : \"honey crisp\", \"cost\" : 1.99, \"warrantyYears\" : 1, \"available\" : true },\r\n\t{ \"_id\" : 10, \"item\" : \"mango\", \"type\" : \"jonagold\", \"cost\" : 1.29, \"warrantyYears\" : 1, \"available\" : false },\r\n\t{ \"_id\" : 1, \"item\" : \"mango\", \"type\" : \"jonathan\", \"cost\" : 1.29 },\r\n\t{ \"_id\" : 6, \"item\" : \"mango\", \"type\" : \"mcintosh\", \"cost\" : 1.29 },\r\n\t{ \"_id\" : 8, \"item\" : \"orange\", \"type\" : \"cara\", \"cost\" : 2.99 },\r\n\t{ \"_id\" : 4, \"item\" : \"orange\", \"type\" : \"navel\", \"cost\" : 1.39, \"warrantyYears\" : 1, \"available\" : true },\r\n\t{ \"_id\" : 3, \"item\" : \"orange\", \"type\" : \"satsuma\", \"cost\" : 1.99 },\r\n\t{ \"_id\" : 2, \"item\" : \"orange\", \"type\" : \"valencia\", \"cost\" : 0.99, \"warrantyYears\" : 1, \"available\" : true }\r\n] )\r\n<\/pre>\n<p>The script gives the below output.<\/p>\n<p><figure id=\"attachment_56140\" aria-describedby=\"caption-attachment-56140\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-3.jpg\"><img decoding=\"async\" class=\"wp-image-56140\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-3.jpg\" alt=\"Fig. 4: Database &amp; Collection creation\" width=\"820\" height=\"336\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-3.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-3-300x123.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-3-768x315.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56140\" class=\"wp-caption-text\">Fig. 4: Database &amp; Collection creation<\/figcaption><\/figure><\/p>\n<h4>2.3.4 Check Mongo database and collection<\/h4>\n<p>If the script works well, the database and the collection will be shown in the Mongo Workbench. Using the <code>db.collection_name.find()<\/code> or the <code>db.collection_name.find().pretty()<\/code> command the documents of a collection will be shown as below.<\/p>\n<p><figure id=\"attachment_56141\" aria-describedby=\"caption-attachment-56141\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-4.jpg\"><img decoding=\"async\" class=\"wp-image-56141\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-4.jpg\" alt=\"Fig. 5: Mongo database &amp; collection\" width=\"820\" height=\"155\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-4.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-4-300x57.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-4-768x145.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56141\" class=\"wp-caption-text\">Fig. 5: Mongo database &amp; collection<\/figcaption><\/figure><\/p>\n<h4>2.3.5 Get Indexes<\/h4>\n<p>To use the Mongo database <code>max()<\/code> and <code>min()<\/code> cursor functions, we will need to make sure that an index already exists in the <code>products<\/code> collection as shown below.<\/p>\n<p><figure id=\"attachment_56142\" aria-describedby=\"caption-attachment-56142\" style=\"width: 664px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-5.jpg\"><img decoding=\"async\" class=\"size-full wp-image-56142\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-5.jpg\" alt=\"Fig. 6: Get Indexes for the 'products' collection\" width=\"664\" height=\"470\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-5.jpg 664w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-5-300x212.jpg 300w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><\/a><figcaption id=\"caption-attachment-56142\" class=\"wp-caption-text\">Fig. 6: Get Indexes for the &#8216;products&#8217; collection<\/figcaption><\/figure><\/p>\n<h4>2.3.6 Implementation of &#8216;max()&#8217; method<\/h4>\n<p>Now, go back to the Mongo shell and use the <code>max(&lt;indexBounds&gt;)<\/code> method to understand it\u2019s practical implementation in the Mongo world. The below example returns the Mongo documents that are below the index key bound of <code>item<\/code> equal to <code>mango<\/code> and <code>type<\/code> equal to <code>jonagold<\/code>.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Query 1<\/em><\/span><\/p>\n<pre class=\"brush:bash;wrap-lines:false;\">&gt; db.products.find().max( { item: 'mango', type: 'jonagold' } ).hint( { item: 1, type: 1 } )\r\n<\/pre>\n<p>The Query 1 snippet will return the following Mongo documents as shown in Fig. 7.<\/p>\n<p><figure id=\"attachment_56143\" aria-describedby=\"caption-attachment-56143\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-6.jpg\"><img decoding=\"async\" class=\"wp-image-56143\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-6.jpg\" alt=\"Fig. 7: Mongo database max() method\" width=\"820\" height=\"78\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-6.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-6-300x29.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-6-768x73.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56143\" class=\"wp-caption-text\">Fig. 7: Mongo database max() method<\/figcaption><\/figure><\/p>\n<h4>2.3.7 Implementation of &#8216;min()&#8217; method<\/h4>\n<p>The below example returns the Mongo documents that are at or above the index key bound of <code>item<\/code> equal to <code>mango<\/code> and <code>type<\/code> equal to <code>jonagold<\/code>.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Query 2<\/em><\/span><\/p>\n<pre class=\"brush:bash;wrap-lines:false;\">&gt; db.products.find().min( { item: 'mango', type: 'jonagold' } ).hint( { item: 1, type: 1 } )\r\n<\/pre>\n<p>The Query 2 snippet will return the following Mongo documents as shown in Fig. 8.<\/p>\n<p><figure id=\"attachment_56144\" aria-describedby=\"caption-attachment-56144\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-7.jpg\"><img decoding=\"async\" class=\"wp-image-56144\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-7.jpg\" alt=\"Fig. 8: Mongo database min() method\" width=\"820\" height=\"121\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-7.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-7-300x44.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-7-768x113.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56144\" class=\"wp-caption-text\">Fig. 8: Mongo database min() method<\/figcaption><\/figure><\/p>\n<p>Do <em>note:<\/em><\/p>\n<ul>\n<li>If the Query 1 and 2 did <strong>not<\/strong> explicitly specify the index with the <code><a href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/cursor.hint\/#cursor.hint\" target=\"_blank\" rel=\"noopener\">hint()<\/a><\/code> method, it would be ambiguous for the Mongo instance to either select the <code>{ item: 1, type: 1 }<\/code> index ordering or the <code>{ item: 1, type: -1 }<\/code> index ordering<\/li>\n<\/ul>\n<h4>2.3.8 Implementation of &#8216;max()&#8217; and &#8216;min()&#8217; methods<\/h4>\n<p>Let\u2019s say developers want to use the ordering of index <code>{ cost: 1 }<\/code>. They can run this scenario by using the <code>min()<\/code> and <code>max()<\/code> methods in a single query where:<\/p>\n<ul>\n<li><code>min()<\/code> method will limit the Mongo documents that are at or above the index key bound of price equal to <code>1.39<\/code> and,<\/li>\n<li><code>max()<\/code> method will limit the Mongo documents that are below the index key bound of price equal to <code>1.99<\/code><\/li>\n<\/ul>\n<p>The following Mongo database command can be used to explain this.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Query 3<\/em><\/span><\/p>\n<pre class=\"brush:bash;wrap-lines:false;\">&gt; db.products.find().min( { cost: 1.39 } ).max( { cost: 1.99 } ).hint( { cost: 1 } )\r\n<\/pre>\n<p>The Query 3 snippet will return the following Mongo document as shown in Fig. 9.<\/p>\n<p><figure id=\"attachment_56145\" aria-describedby=\"caption-attachment-56145\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-8.jpg\"><img decoding=\"async\" class=\"wp-image-56145\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-8.jpg\" alt=\"Fig. 9: Mongo database min() method\" width=\"820\" height=\"87\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-8.jpg 849w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-8-300x32.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/mongodb-mm-project-guide-8-768x81.jpg 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-56145\" class=\"wp-caption-text\">Fig. 9: Mongo database min() method<\/figcaption><\/figure><\/p>\n<p>That\u2019s all for this post. Happy Learning!!<\/p>\n<h2>3. Conclusion<\/h2>\n<p>In this tutorial, we learned about the <code>max()<\/code> and <code>min()<\/code> methods of the Mongo database. Developers can download the sample commands in the <a href=\"#projectDownload\">Downloads<\/a> section.<\/p>\n<h2><a name=\"projectDownload\"><\/a>4. Download the Eclipse Project<\/h2>\n<p>This was an example of the <code>max()<\/code> and <code>min()<\/code> methods method available in the Mongo database.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>\nYou can download the full source code of this example here: <a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2018\/03\/CodeSnippet-4.zip\" target=\"_blank\" rel=\"noopener\"><strong>CodeSnippet<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello readers, in this tutorial, we will see the max() and min() methods available in the Mongo database. 1. Introduction If you have installed the MongoDB application (version 3.6) on Windows or Ubuntu operating system and you wish to learn the max() and min() methods then follow the below steps. It is very simple, but &hellip;<\/p>\n","protected":false},"author":119,"featured_media":36154,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1447],"tags":[1194,1708],"class_list":["post-56135","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mongodb","tag-mongodb","tag-mongodb-cursor-methods"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MongoDB max() and min() Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"In this tutorial, we will see the max() and min() methods available in the Mongo database.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB max() and min() Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, we will see the max() and min() methods available in the Mongo database.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-14T13:00:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-18T12:43:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\"},\"author\":{\"name\":\"Yatin\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13\"},\"headline\":\"MongoDB max() and min() Example\",\"datePublished\":\"2018-03-14T13:00:47+00:00\",\"dateModified\":\"2018-04-18T12:43:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\"},\"wordCount\":1285,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg\",\"keywords\":[\"MongoDb\",\"MongoDB Cursor Methods\"],\"articleSection\":[\"MongoDB\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\",\"name\":\"MongoDB max() and min() Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg\",\"datePublished\":\"2018-03-14T13:00:47+00:00\",\"dateModified\":\"2018-04-18T12:43:03+00:00\",\"description\":\"In this tutorial, we will see the max() and min() methods available in the Mongo database.\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/software-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"MongoDB\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/software-development\/mongodb\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"MongoDB max() and min() Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13\",\"name\":\"Yatin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg\",\"caption\":\"Yatin\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\/\/www.javacodegeeks.com\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/yatin-batra\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MongoDB max() and min() Example - Java Code Geeks","description":"In this tutorial, we will see the max() and min() methods available in the Mongo database.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/","og_locale":"en_US","og_type":"article","og_title":"MongoDB max() and min() Example - Java Code Geeks","og_description":"In this tutorial, we will see the max() and min() methods available in the Mongo database.","og_url":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2018-03-14T13:00:47+00:00","article_modified_time":"2018-04-18T12:43:03+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg","type":"image\/jpeg"}],"author":"Yatin","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/"},"author":{"name":"Yatin","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13"},"headline":"MongoDB max() and min() Example","datePublished":"2018-03-14T13:00:47+00:00","dateModified":"2018-04-18T12:43:03+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/"},"wordCount":1285,"commentCount":1,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg","keywords":["MongoDb","MongoDB Cursor Methods"],"articleSection":["MongoDB"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/","url":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/","name":"MongoDB max() and min() Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg","datePublished":"2018-03-14T13:00:47+00:00","dateModified":"2018-04-18T12:43:03+00:00","description":"In this tutorial, we will see the max() and min() methods available in the Mongo database.","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/04\/mongodb-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/software-development\/mongodb\/mongodb-max-and-min-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Software Development","item":"https:\/\/examples.javacodegeeks.com\/category\/software-development\/"},{"@type":"ListItem","position":3,"name":"MongoDB","item":"https:\/\/examples.javacodegeeks.com\/category\/software-development\/mongodb\/"},{"@type":"ListItem","position":4,"name":"MongoDB max() and min() Example"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13","name":"Yatin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg","caption":"Yatin"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/examples.javacodegeeks.com\/author\/yatin-batra\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/56135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/119"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=56135"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/56135\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/36154"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=56135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=56135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=56135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}