Syntax error How to efficiently run complex queries on MongoDB unindexed fields?

How to efficiently run complex queries on MongoDB unindexed fields?



Create an index to efficiently run complex queries. Let us first create a collection with documents −

> db.demo400.insertOne({SubjectName:"Java Spring"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610720fac4d418a0178572")
}
> db.demo400.insertOne({SubjectName:"Spring Hibernate"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e61072dfac4d418a0178573")
}
> db.demo400.insertOne({SubjectName:"Java Hibernate"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610736fac4d418a0178574")
}
> db.demo400.createIndex({SubjectName:"text"});
{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}

Display all documents from a collection with the help of find() method −

> db.demo400.find();

This will produce the following output −

{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }
{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610736fac4d418a0178574"), "SubjectName" : "Java Hibernate" }

Following is the query to efficiently perform complex queries on unindexed fields −

> db.demo400.find({ $text: { $search: "Spring" } } )

This will produce the following output −

{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }
Updated on: 2020-04-03T12:40:09+05:30

262 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements