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

MongoDB에서 쿼리 속도를 높이기 위해 큰 텍스트 필드 인덱싱

<시간/>

큰 텍스트 필드를 인덱싱하려면 텍스트 검색을 위해 $regex와 함께 sureIndex()를 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo46.ensureIndex({"이름":1});{ "createdCollectionAutomatically" :true, "numIndexesBefore" :1, "numIndexesAfter" :2, "ok" :1}> db.demo46.insertOne ({"이름":"John Smith"});{ "확인됨":true, "insertedId":ObjectId("5e267004cfb11e5c34d898ed")}> db.demo46.insertOne({"이름":"John Doe"}); { "승인된":true, "insertedId":ObjectId("5e267009cfb11e5c34d898ee")}> db.demo46.insertOne({"이름":"크리스 브라운"});{ "승인된":true, "insertedId":ObjectId( "5e267011cfb11e5c34d898ef")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo46.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":ObjectId("5e267004cfb11e5c34d898ed"), "이름":"John Smith" }{ "_id":ObjectId("5e267009cfb11e5c34d898ee"), "이름":"John Doe":}{ "_ ObjectId("5e267011cfb11e5c34d898ef"), "이름":"크리스 브라운" }

다음은 쿼리를 더 빠르게 만들기 위해 큰 텍스트 필드를 인덱싱하는 쿼리입니다. −

> db.demo46.find({ 이름:{ $regex:/^John/}});

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":ObjectId("5e267009cfb11e5c34d898ee"), "이름":"John Doe" }{ "_id":ObjectId("5e267004cfb11e5c34d898ed"), "이름":"John Smith" }