MongoDB Match

It filters the documents so that you can run an aggregation on a subset of documents that match a specific condition.

Syntax of Match

 
{ $match: { query } }
 

The 'query' is the query condition. It would be beneficial to place $match at the very beginning of a pipeline because it minimize the amount of processing down the pipe.

 

Example

Suppose, we have following collection.

{ "_id" : ObjectId("5b7ddc4f529cbc23546dc4c7"), "name" : "Jorz Rai", "age" : 10, "class" : "5A" }
{ "_id" : ObjectId("5b7ddf10529cbc23546dc4c8"), "name" : "Rana Soi", "age" : 11, "class" : "5C" }
{ "_id" : ObjectId("5b7de0f4529cbc23546dc4c9"), "name" : "Andy Joya", "age" : 11, "class" : "5C" }
{ "_id" : ObjectId("5b7de0f4529cbc23546dc4ca"), "name" : "Mary Soi", "age" : 11, "class" : "5C" }
{ "_id" : ObjectId("5b7de0f4529cbc23546dc4cb"), "name" : "Priska Somya", "age" : 12, "class" : "6A" }

The given statement returns only those students whose age equals to 11.

db.students.aggregate(
	[{$match : { age: 11 }}]
).pretty();
mongodb match