복잡한 쿼리를 효율적으로 실행하기 위해 인덱스를 생성합니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −
> db.demo400.insertOne({SubjectName:"자바 스프링"});{ "승인된" :true, "insertedId" :ObjectId("5e610720fac4d418a0178572")}> db.demo400.insertOne"Spring 최대 절전 모드"});{ "승인됨" :true, "insertedId" :ObjectId("5e61072dfac4d418a0178573")}> db.demo400.insertOne({SubjectName:"자바 최대 절전 모드"});{ "승인됨":true, "삽입됨 :ObjectId("5e610736fac4d418a0178574")}> db.demo400.createIndex({SubjectName:"text"});{ "createdCollectionAutomatically" :false, "numIndexesBefore" :1, "numIndexesAfter" :1}, "<<" /사전>find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo400.find();이것은 다음과 같은 출력을 생성합니다 -
{ "_id":ObjectId("5e610720fac4d418a0178572"), "SubjectName":"자바 스프링" }{ "_id":ObjectId("5e61072dfac4d418a0178573"), "SubjectName":"}{Spring ObjectId("5e610736fac4d418a0178574"), "SubjectName":"자바 최대 절전 모드" }다음은 인덱싱되지 않은 필드에 대해 복잡한 쿼리를 효율적으로 수행하기 위한 쿼리입니다 -
> db.demo400.find({ $text:{ $search:"봄" } } )이것은 다음과 같은 출력을 생성합니다 -
{ "_id":ObjectId("5e61072dfac4d418a0178573"), "SubjectName":"Spring Hibernate" }{ "_id":ObjectId("5e610720fac4d418a0178572"), "Java Spring"}: