2017-12-21 14 views
0

에 발견하고 우리는 몽구스 스키마의 모든 분야에서 단어/문구를 검색하는 데 필요한최적화 - 우리는 우리의 데이터베이스 접근 방식에 도전하기 위해 필요한 몽구스 MongoDB의 스키마의 모든 필드

여러분의 도움이 필요합니다.

의 스키마는 다음과 같이 말한다 보자

우리는 컬렉션의 문서에있는 모든 필드에서 단어를 검색하는 찾기 쿼리를 작성해야
var sampleSchema = new Schema({ 
    fieldABC: String, 
    fieldDEF: String, 
    fieldGHI: String 
}); 

:

db.sampleCollection.find({ 
    $or: [{ 
    fieldABC: "wordToSearch" 
    }, { 
    fieldDEF: "wordToSearch" 
    }, { 
    fieldGHI: "wordToSearch" 
    }] 
}) 

그것은의를 우리가 위의 쿼리를 작성할 수는 있지만 매우 비효율적 인 것처럼 보입니다. 더 빠르고 더 좋은 방법이 있습니까?

In the year 2015, it was not supported이 변경 사항이 있습니까?

+1

[텍스트 검색] (https://docs.mongodb.com/manual/core/index-text/#wildcard-text-indexes)을 시도 할 수 있습니다. – Veeram

+0

@Veeram 색인 생성에 대해 이야기하는 것처럼 보입니다. 데이터 검색 정보 – xameeramir

+1

먼저 색인을 작성한 다음 [text search] (https://docs.mongodb.com/manual/reference/operator/query/text/#examples)를 사용하여 문서에서 텍스트를 찾습니다. – Veeram

답변

0

suggested 1 단계

@Veeram에 의하여 다음과 같음 :

text index

db.sampleCollection.createIndex({ "$**": "text" }) 

2 단계 만듭니다 우려에 단어를 검색 할

를 사용하여 텍스트 인덱스를

db.sampleCollection.find({ $text: { $search: "wordToSearch" } })