

{"id":48591,"date":"2019-02-06T10:30:11","date_gmt":"2019-02-06T05:00:11","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=48591"},"modified":"2021-05-09T13:07:18","modified_gmt":"2021-05-09T07:37:18","slug":"mongodb-regular-expression-regex","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/","title":{"rendered":"MongoDB Regular Expression ($option &amp; $regex) with Examples"},"content":{"rendered":"<p>After <strong>MongoDB Capped Collection<\/strong>, today we are going to see a new concept MongoDB Regular Expression for pattern maching.<\/p>\n<p>Here, we will see the MongoDB regex and option operators with examples. Along with this, we will learn how to use regex in array element in MongoDB and query optimization.<\/p>\n<h2>What is MongoDB Regular Expression?<\/h2>\n<p>MongoDB regular expression are use for matching different patterns. This is useful for finding strings within <strong>documents<\/strong>.<\/p>\n<p>It may happen sometime that you may not know what field value you should search for in documents for a specific collection. Hence, we can use regular expression in MongoDB for finding out some unique matches for any document.<\/p>\n<h3>i. MongoDB $regex<\/h3>\n<p>MongoDB regex operator is used to search for strings in <strong>collection<\/strong>. Now we will take an example to understand about regex operator:<\/p>\n<p>We will take an example table with two fields as \u201cEmployee_id\u201d and \u201cEmployee_name\u201d.<\/p>\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"137\" \/>\n<col width=\"151\" \/><\/colgroup>\n<tbody>\n<tr>\n<td><strong>Employee_id<\/strong><\/td>\n<td><strong>Employee_name<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a020<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a012<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0def<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a03<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ghi<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0jkl<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a089<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0mno<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0pqr<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Now we will write the code to find \u201cEmployee_name\u201d with initials as \u201cab\u201d.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">db.Employee.find({Employee_name : {$regex: \"ab\" }}).forEach(printjson)<\/pre>\n<p>Here, printjson is used to print each document which is returned by the query in a better way.<\/p>\n<p>If suppose your collection has documents with Employee_name as \u201cabc123\u201d. If you entered the search criteria as \u201cabc12\u201d, it will also return all documents with name as \u201cabc123\u201d. So if you just wanted to make a query to search for \u201cabc12\u201d then we have to use exact pattern matching.<\/p>\n<p>For doing exact pattern matching we use ^ and $ character. We will add ^ character at the beginning and $ at the end of the string.<\/p>\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"137\" \/>\n<col width=\"151\" \/><\/colgroup>\n<tbody>\n<tr>\n<td><strong>Employee_id<\/strong><\/td>\n<td><strong>Employee_name<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a020<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a012<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0def<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a03<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc12<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc123<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a089<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0mno<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc12<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a06<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc12<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">db.Employee.find({Employee_name : {$regex: \"^abc12$\"}}).forEach(printjson)<\/pre>\n<p>Here ^ is used to denote that a string starts with a certain character and $ is used to ensure that a string ends with a certain character.<\/p>\n<h3>ii. MongoDB $options<\/h3>\n<p>When you want to provide some additional options in regex operator then you will use $options keyword. Suppose you want to search all documents which are having \u201cab\u201d in their Employee_name, irrespective of whether it is case sensitive or insensitive.<\/p>\n<p>For searching a result without considering case sensitivity in that we use $options.<\/p>\n<p>For this we will consider the following documents in our collection.<\/p>\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"137\" \/>\n<col width=\"151\" \/><\/colgroup>\n<tbody>\n<tr>\n<td><strong>Employee_id<\/strong><\/td>\n<td><strong>Employee_name<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a020<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a012<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0def<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a03<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ABC12<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc123<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a089<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0mno<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ABc12<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a06<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Abc12<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">db.Employee.find({Employee_name:{$regex: \"ab\",$options:'i'}}).forEach(printjson)<\/pre>\n<p>Here $options with \u2018i\u2019 parameter specifies that we want to carry out search without considering upper or lower case. Same will happen with our example in which \u201cab\u201d will be searched whether it is upper or lower case.<\/p>\n<p>We can also perform pattern matching without using MongoDB regex operator. The example below will give us how to do this:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">db.Employee.find({Employee_name: \/ab\/'}).forEach(printjson)<\/pre>\n<p>Here \u201c\/\/\u201d specifies that our search criteria is within these delimiters.<\/p>\n<p><strong>Fetching last \u2018n\u2019 documents from a collection<\/strong><\/p>\n<p>There are various ways to get last n documents from a collection.<\/p>\n<p>Let\u2019s see the example to understand one way of getting last n documents in a collection.<\/p>\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"137\" \/>\n<col width=\"151\" \/><\/colgroup>\n<tbody>\n<tr>\n<td><strong>Employee_id<\/strong><\/td>\n<td><strong>Employee_name<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a020<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a012<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0def<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a03<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc12<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc123<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a089<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0mno<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc12<\/td>\n<\/tr>\n<tr>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a06<\/td>\n<td>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0abc12<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">db.Employee.find().sort({_id:-1}).limit(2).forEach(printjson)<\/pre>\n<p>Here <strong>limit<\/strong> is used to display the number of records you want. Here it is set as 2 so it will search for last 2 documents. And -1 is used to sort the document in descending order.<\/p>\n<h2>How to Use regex for array element in MongoDB?<\/h2>\n<p>We can use MongoDB regular expression in array fields too. When we implement the functionality of tags then it is important to have them starting from the word MongoDB in order to search for all posts having this tag. We will look at the code for the above statement now:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; db.example.find({tags:{$regex:\"Mongo\"}}).pretty();\r\n{\r\n     \"_id\" : ObjectId(\"590e5b7bd774a89bd3a0c5fb\"),\r\n     \"blog_text\" : \"MongoDB uses regular expression\",\r\n     \"tags\" : [\r\n           \"MongoDB\",\r\n           \"regular\",\r\n           \"expression\"\r\n     ]\r\n}\r\n&gt; db.example.find({tags:{$regex:\"MongoDB\"}}).pretty();\r\n{\r\n     \"_id\" : ObjectId(\"590e5b7bd774a89bd3a0c5fb\"),\r\n     \"blog_text\" : \"MongoDB uses regular expression\",\r\n     \"tags\" : [\r\n           \"MongoDB\",\r\n           \"regular\",\r\n           \"expression\"\r\n     ]\r\n}\r\n&gt;<\/pre>\n<h2>MongoDB Query Optimization<\/h2>\n<p>We can optimize MongoDB regular expression queries just like we do in relational database. Following are some of the concepts used in MongoDB for query optimization:<\/p>\n<ol>\n<li>We can create database <strong>indexes<\/strong> on the document fields so that the MongoDB query will make use of these indexed values to match regular expression. This makes search and data retrieval from the collection very fast as compared to traditional regular expression scanning.<\/li>\n<li>Create a query with regular expression as a prefix expression where all the matches are meant to begin with a particular string character.<\/li>\n<\/ol>\n<p>For eg: if the <strong>regex<\/strong> expression is ^example, then such a query will search only those strings that begin with example.<\/p>\n<h2>Summary<\/h2>\n<p>Hence, we have studied about MongoDB regular expressions for pattern matching with $regex and $option. Along with this, we learned hos to use regex for array element and query optimization.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After MongoDB Capped Collection, today we are going to see a new concept MongoDB Regular Expression for pattern maching. Here, we will see the MongoDB regex and option operators with examples. Along with this,&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":48598,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[18706,18703,18705,18704,8848],"class_list":["post-48591","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mongodb","tag-regex","tag-mongodb-query-optimization","tag-mongodb-regex","tag-mongodb-regex-operator","tag-mongodb-regular-expression"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MongoDB Regular Expression ($option &amp; $regex) with Examples - DataFlair<\/title>\n<meta name=\"description\" content=\"MongoDB regex tutorial- MongoDB regular expression for pattern matching with example, $regex operator, $option keyword, regex for array element, Query optimization\" \/>\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-regular-expression-regex\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB Regular Expression ($option &amp; $regex) with Examples - DataFlair\" \/>\n<meta property=\"og:description\" content=\"MongoDB regex tutorial- MongoDB regular expression for pattern matching with example, $regex operator, $option keyword, regex for array element, Query optimization\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/\" \/>\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=\"2019-02-06T05:00:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-09T07:37:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/MongoDB-Regular-Expression-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=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MongoDB Regular Expression ($option &amp; $regex) with Examples - DataFlair","description":"MongoDB regex tutorial- MongoDB regular expression for pattern matching with example, $regex operator, $option keyword, regex for array element, Query optimization","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-regular-expression-regex\/","og_locale":"en_US","og_type":"article","og_title":"MongoDB Regular Expression ($option &amp; $regex) with Examples - DataFlair","og_description":"MongoDB regex tutorial- MongoDB regular expression for pattern matching with example, $regex operator, $option keyword, regex for array element, Query optimization","og_url":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2019-02-06T05:00:11+00:00","article_modified_time":"2021-05-09T07:37:18+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/MongoDB-Regular-Expression-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":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"MongoDB Regular Expression ($option &amp; $regex) with Examples","datePublished":"2019-02-06T05:00:11+00:00","dateModified":"2021-05-09T07:37:18+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/"},"wordCount":746,"commentCount":1,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/MongoDB-Regular-Expression-01.jpg","keywords":["$regex","MongoDB Query Optimization","MongoDB regex","MongoDB regex operator","MongoDB regular expression"],"articleSection":["MongoDB Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/","url":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/","name":"MongoDB Regular Expression ($option &amp; $regex) with Examples - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/MongoDB-Regular-Expression-01.jpg","datePublished":"2019-02-06T05:00:11+00:00","dateModified":"2021-05-09T07:37:18+00:00","description":"MongoDB regex tutorial- MongoDB regular expression for pattern matching with example, $regex operator, $option keyword, regex for array element, Query optimization","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/MongoDB-Regular-Expression-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/MongoDB-Regular-Expression-01.jpg","width":1200,"height":628,"caption":"MongoDB regular expression"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/mongodb-regular-expression-regex\/#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 Regular Expression ($option &amp; $regex) with Examples"}]},{"@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\/48591","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=48591"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/48591\/revisions"}],"predecessor-version":[{"id":93179,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/48591\/revisions\/93179"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/48598"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=48591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=48591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=48591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}