

{"id":14115,"date":"2018-04-20T05:49:42","date_gmt":"2018-04-20T05:49:42","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=14115"},"modified":"2021-05-09T13:07:37","modified_gmt":"2021-05-09T07:37:37","slug":"mongodb-projection","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/","title":{"rendered":"MongoDB Projection &#8211; How Projection in MongoDB Affects Performance"},"content":{"rendered":"<p>In our last article, we have seen <strong>MongoDB Create\u00a0&amp; Drop Collection<\/strong>. In this article, we will learn introduction to MongoDB Projection. Moreover, we will also discuss how projection in <strong>MongoDB<\/strong>\u00a0affects performance with examples.<\/p>\n<p>So, let&#8217;s start the MongoDB Projection Tutorial.<\/p>\n<h2>What is MongoDB Projection?<\/h2>\n<p>MongoDB projection is a query where we can specify the fields we would like to have returned. We can do projection in MongoDB by adding a 0 or 1 next to fields name after including in a query. If you specify the parameter 1 it will be displayed and 0 will hide it.<\/p>\n<p>Let\u2019s understand it with an example\u00a0of Projection\u00a0in MongoDB.<\/p>\n<h3>i. Run a Query Without Projection in MongoDB<\/h3>\n<p>First, run a query without MongoDB projection to see the difference.<\/p>\n<div id=\"attachment_14120\" style=\"width: 956px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14120\" class=\"wp-image-14120 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find2.jpg\" alt=\"MongoDB Projection\" width=\"946\" height=\"198\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find2.jpg 946w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find2-150x31.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find2-300x63.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find2-768x161.jpg 768w\" sizes=\"auto, (max-width: 946px) 100vw, 946px\" \/><\/a><p id=\"caption-attachment-14120\" class=\"wp-caption-text\">Run a Query Without Projection in MongoDB<\/p><\/div>\n<h3>ii. Run a Query With Projection in\u00a0MongoDB<\/h3>\n<p>We see that it shows all the fields and values without projection.<\/p>\n<div id=\"attachment_14121\" style=\"width: 956px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find3.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14121\" class=\"wp-image-14121 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find3.jpg\" alt=\"Run a Query With Projection in MongoDB\" width=\"946\" height=\"197\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find3.jpg 946w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find3-150x31.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find3-300x62.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/find3-768x160.jpg 768w\" sizes=\"auto, (max-width: 946px) 100vw, 946px\" \/><\/a><p id=\"caption-attachment-14121\" class=\"wp-caption-text\">Run a Query With Projection in MongoDB<\/p><\/div>\n<p>We see that only ObjectId and name comes in the result as we set 1 for name. ObjectId field is automatically included and can be excluded by setting a 0 for this field.<\/p>\n<div id=\"attachment_14122\" style=\"width: 548px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/excludeID.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14122\" class=\"wp-image-14122 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/excludeID.jpg\" alt=\"MongoDB Projection\" width=\"538\" height=\"117\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/excludeID.jpg 538w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/excludeID-150x33.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/excludeID-300x65.jpg 300w\" sizes=\"auto, (max-width: 538px) 100vw, 538px\" \/><\/a><p id=\"caption-attachment-14122\" class=\"wp-caption-text\">A result of Projection in MongoDB &#8211; ObjectID<\/p><\/div>\n<p>Although this is the exception for the _id field, you cannot mix 1 &amp; 0. If you do, it will show some error saying \u201cMongoDB Projection cannot have a mix of inclusion and exclusion\u201d.<\/p>\n<div id=\"attachment_14123\" style=\"width: 680px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/mixxingError.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14123\" class=\"wp-image-14123 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/mixxingError.jpg\" alt=\"MongoDB Projection\" width=\"670\" height=\"158\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/mixxingError.jpg 670w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/mixxingError-150x35.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/mixxingError-300x71.jpg 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/a><p id=\"caption-attachment-14123\" class=\"wp-caption-text\">MongoDB Projection &#8211; Error<\/p><\/div>\n<p>This means you can either include fields or exclude them. You cannot do both at the same time.<\/p>\n<p>Let\u2019s exclude both the name &amp; the city.<\/p>\n<div id=\"attachment_14124\" style=\"width: 810px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both0.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14124\" class=\"wp-image-14124 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both0.jpg\" alt=\"\" width=\"800\" height=\"157\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both0.jpg 800w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both0-150x29.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both0-300x59.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both0-768x151.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><p id=\"caption-attachment-14124\" class=\"wp-caption-text\">Excluding Name &amp; City<\/p><\/div>\n<p>Now include both the name &amp; the city.<\/p>\n<div id=\"attachment_14125\" style=\"width: 810px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both1.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14125\" class=\"wp-image-14125 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both1.jpg\" alt=\"MongoDB Projection\" width=\"800\" height=\"157\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both1.jpg 800w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both1-150x29.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both1-300x59.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Both1-768x151.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><p id=\"caption-attachment-14125\" class=\"wp-caption-text\">Excluding Name &amp; City<\/p><\/div>\n<h2>Conclusion<\/h2>\n<p>Hence, we have seen that how can we use MongoDB projection to query the document only for the specified fields. It helps us to find the data of our need easily. At last, we discuss how Projection in MongoDB affects query execution\/Performance.<\/p>\n<p>In the next article, we will learn the limiting and sorting of the records in MongoDB. Furthermore, if you have any query, feel free to ask in a comment section.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our last article, we have seen MongoDB Create\u00a0&amp; Drop Collection. In this article, we will learn introduction to MongoDB Projection. Moreover, we will also discuss how projection in MongoDB\u00a0affects performance with examples. So,&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":14119,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[8843,10186,10187,11661,11662,15827],"class_list":["post-14115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mongodb","tag-mongodb-projection","tag-projection-in-mongodb","tag-projection-in-mongodb-example","tag-run-a-query-with-projection","tag-run-a-query-without-projection","tag-what-is-mongodb-projection"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MongoDB Projection - How Projection in MongoDB Affects Performance - DataFlair<\/title>\n<meta name=\"description\" content=\"MongoDB Projection Tutorial, How MongoDB Projection affects Query Performance, Example of Projection in MongoDB,Run Query With\/without Projection\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/mongodb-projection\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB Projection - How Projection in MongoDB Affects Performance - DataFlair\" \/>\n<meta property=\"og:description\" content=\"MongoDB Projection Tutorial, How MongoDB Projection affects Query Performance, Example of Projection in MongoDB,Run Query With\/without Projection\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/mongodb-projection\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-20T05:49:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-09T07:37:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/MongoDB-Projection-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MongoDB Projection - How Projection in MongoDB Affects Performance - DataFlair","description":"MongoDB Projection Tutorial, How MongoDB Projection affects Query Performance, Example of Projection in MongoDB,Run Query With\/without Projection","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:\/\/data-flair.training\/blogs\/mongodb-projection\/","og_locale":"en_US","og_type":"article","og_title":"MongoDB Projection - How Projection in MongoDB Affects Performance - DataFlair","og_description":"MongoDB Projection Tutorial, How MongoDB Projection affects Query Performance, Example of Projection in MongoDB,Run Query With\/without Projection","og_url":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-04-20T05:49:42+00:00","article_modified_time":"2021-05-09T07:37:37+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/MongoDB-Projection-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"MongoDB Projection &#8211; How Projection in MongoDB Affects Performance","datePublished":"2018-04-20T05:49:42+00:00","dateModified":"2021-05-09T07:37:37+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/"},"wordCount":403,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/MongoDB-Projection-01.jpg","keywords":["MongoDB Projection","Projection in MongoDB","Projection in MongoDB Example","Run a Query With Projection","Run a Query Without Projection","What is MongoDB Projection"],"articleSection":["MongoDB Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/mongodb-projection\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/","url":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/","name":"MongoDB Projection - How Projection in MongoDB Affects Performance - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/MongoDB-Projection-01.jpg","datePublished":"2018-04-20T05:49:42+00:00","dateModified":"2021-05-09T07:37:37+00:00","description":"MongoDB Projection Tutorial, How MongoDB Projection affects Query Performance, Example of Projection in MongoDB,Run Query With\/without Projection","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/mongodb-projection\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/MongoDB-Projection-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/MongoDB-Projection-01.jpg","width":1200,"height":628,"caption":"MongoDB Projection"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/mongodb-projection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"MongoDB Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/mongodb\/"},{"@type":"ListItem","position":3,"name":"MongoDB Projection &#8211; How Projection in MongoDB Affects Performance"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=14115"}],"version-history":[{"count":6,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14115\/revisions"}],"predecessor-version":[{"id":92958,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14115\/revisions\/92958"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/14119"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=14115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=14115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=14115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}