MongoDB IN Operator

Mongodb provides $in operator to find document having value of the field in the specified array. This is used where we have more than one possible value to match for a single key. This is very flexible and allows us to specify the criteria of different types as well as values.

Syntax of $in

 
{ $in: [ { }, { } , ... , { } ] }
 

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 all students whose age are in [10, 11].

db.students.find({"age" : {"$in" : [10, 11]});
mongodb In operator



MongoDB NOT IN Operator

Mongodb provides $nin operator which behaves opposite of $in.

Suppose, we want to find all students whose age not in [10, 11].

db.students.find({"age" : {"$nin" : [10, 11]});

mongodb NOT IN operator