몽구스의 당 문서 에 대한 MongooseJS
및 MongoDB
/ Node.js
:
애플리케이션이 시작되면 Mongoose는
ensureIndex
스키마에 정의 된 각 인덱스를 자동으로 호출 합니다. 개발에는 좋지만 인덱스 생성이 성능에 상당한 영향을 미칠 수 있으므로 프로덕션에서는이 동작을 비활성화하는 것이 좋습니다.autoIndex
스키마 옵션을 false 로 설정하여 동작을 비활성화하십시오 .
이것은 Mongo가 애플리케이션 시작시 모든 인덱스를 통해 이동하고 이탈하도록 지시하는 것으로부터 Mongoose를 최적화하기 위해 배포하기 전에 mongoose에서 자동 인덱싱을 제거하도록 지시하는 것으로 보입니다.
프로덕션 코드에서 인덱싱을 처리하는 적절한 방법은 무엇입니까? 외부 스크립트가 색인을 생성해야할까요? 아니면 ensureIndex
DB 쓰기가 발생할 때마다 인덱스를 계속하기 때문에 단일 애플리케이션이 컬렉션에 대한 유일한 리더 / 라이터라면 불필요할까요?
편집 : 보충하기 위해 MongoDB는 인덱싱을 수행 하는 방법 에 대한 좋은 문서 를 제공 하지만 명시 적 인덱싱 지시문을 수행해야하는 이유 또는 시기는 아닙니다 . 필자는 기존 인덱스가있는 컬렉션에 대해 작성기 응용 프로그램에서 인덱스를 자동으로 최신 상태로 유지해야하는 것으로 보이며 이는 실제로 일회성 작업 (새 인덱스가 적용될 때 수행됨)에 가깝습니다.이 경우 Mongoose 는 정상적인 서버 재시작 상태에서는 작동하지 않습니다.ensureIndex
autoIndex