Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB 인덱싱되지 않은 필드에서 복잡한 쿼리를 효율적으로 실행하는 방법은 무엇입니까?

<시간/>

복잡한 쿼리를 효율적으로 실행하기 위해 인덱스를 생성합니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> 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"}: