For text search, you need to use $text along with $search. Let us create a collection with documents −
> db.demo156.createIndex({"StudentName":"text"}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.demo156.insertOne({"StudentName":"Chris Brown"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3547e8fdf09dd6d08539e6") } > db.demo156.insertOne({"StudentName":"John Doe"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3547f2fdf09dd6d08539e7") } > db.demo156.insertOne({"StudentName":"John Smith"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3547f7fdf09dd6d08539e8") }
Display all documents from a collection with the help of find() method −
> db.demo156.find();
This will produce the following output −
{ "_id" : ObjectId("5e3547e8fdf09dd6d08539e6"), "StudentName" : "Chris Brown" } { "_id" : ObjectId("5e3547f2fdf09dd6d08539e7"), "StudentName" : "John Doe" } { "_id" : ObjectId("5e3547f7fdf09dd6d08539e8"), "StudentName" : "John Smith" }
Following is the query to implement text search in MongoDB −
> db.demo156.find({ $text: { $search: "John" } } )
This will produce the following output −
{ "_id" : ObjectId("5e3547f7fdf09dd6d08539e8"), "StudentName" : "John Smith" } { "_id" : ObjectId("5e3547f2fdf09dd6d08539e7"), "StudentName" : "John Doe" }