How can I use 'Not Like' operator in MongoDB?



For this, use the $not operator in MongoDB. To understand the concept, let us create a collection with the document. The query to create a collection with a document is as follows −

> db.notLikeOperatorDemo.insertOne({"StudentName":"John Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8a29c393b406bd3df60dfc") } > db.notLikeOperatorDemo.insertOne({"StudentName":"John Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8a29cc93b406bd3df60dfd") } > db.notLikeOperatorDemo.insertOne({"StudentName":"John Taylor"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8a29df93b406bd3df60dfe") } > db.notLikeOperatorDemo.insertOne({"StudentName":"Carol Taylor"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8a2a1693b406bd3df60dff") } > db.notLikeOperatorDemo.insertOne({"StudentName":"David Miller"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8a2a2693b406bd3df60e00") }

Display all documents from a collection with the help of find() method. The query is as follows −

> db.notLikeOperatorDemo.find().pretty();

The following is the output −

{ "_id" : ObjectId("5c8a29c393b406bd3df60dfc"), "StudentName" : "John Doe" } {    "_id" : ObjectId("5c8a29cc93b406bd3df60dfd"),    "StudentName" : "John Smith" } {    "_id" : ObjectId("5c8a29df93b406bd3df60dfe"),    "StudentName" : "John Taylor" } {    "_id" : ObjectId("5c8a2a1693b406bd3df60dff"),    "StudentName" : "Carol Taylor" } {    "_id" : ObjectId("5c8a2a2693b406bd3df60e00"),    "StudentName" : "David Miller" }

Here is the query to use NOT LIKE operator in MongoDB −

> db.notLikeOperatorDemo.find( { StudentName: { $not: /^John Taylor.*/ } } );

The following is the output −

{ "_id" : ObjectId("5c8a29c393b406bd3df60dfc"), "StudentName" : "John Doe" } { "_id" : ObjectId("5c8a29cc93b406bd3df60dfd"), "StudentName" : "John Smith" } { "_id" : ObjectId("5c8a2a1693b406bd3df60dff"), "StudentName" : "Carol Taylor" } { "_id" : ObjectId("5c8a2a2693b406bd3df60e00"), "StudentName" : "David Miller" } You can use the following query also: > db.notLikeOperatorDemo.find({StudentName: {$not: /John Taylor/}}); The following is the output: { "_id" : ObjectId("5c8a29c393b406bd3df60dfc"), "StudentName" : "John Doe" } { "_id" : ObjectId("5c8a29cc93b406bd3df60dfd"), "StudentName" : "John Smith" } { "_id" : ObjectId("5c8a2a1693b406bd3df60dff"), "StudentName" : "Carol Taylor" } { "_id" : ObjectId("5c8a2a2693b406bd3df60e00"), "StudentName" : "David Miller" }
Updated on: 2019-07-30T22:30:25+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements