MongoDB 에 색인 추가
4183 단어 MongoDB
예 를 들 어 한id 인덱스 는 기본적으로 구축id 값 의 정렬 배열 입 니 다.이 색인 이 생 성 되면 다음 과 같은 혜택 을 얻 을 수 있 습 니 다.
하지만 이런 혜택 을 얻 으 려 면 대 가 를 치 러 야 한 다 는 것 을 기억 해 야 한다.다음은 색인 과 관련 된 비용 입 니 다.
몇 가지 서로 다른 유형의 색인 은 집합 필드 에 응용 되 어 서로 다른 디자인 요 구 를 인사말 할 수 있다.아래 표 는 서로 다른 색인 형식 을 보 여 줍 니 다.
MongoDB 가 지원 하 는 색인 형식
인덱스
설명 하 다.
_id
사용 하 는 MongoDB 집합 은 기본적으로id 인덱스, 프로그램 이 지정 하지 않 으 면id 값, 드라이버 또는 mongodb 는 objectID 값 이 있 는 을 만 듭 니 다.id 필드.이id 색인 은 유일한 것 입 니 다. 클 라 이언 트 의 삽입 을 방지 할 수 있 습 니 다id 값 이 같은 두 문서
단일 필드
가장 기본 적 인 색인 유형 은 단일 필드 의 색인 입 니 다.이것 은 와 유사 하 다id 색인 이지 만 필요 한 필드 에 만 들 수 있 습 니 다. 이 축소판 은 오름차 나 내림차 순 으로 정렬 할 수 있 습 니 다.그 필드 의 값 은 유일한 것 이 아 닙 니 다.예 를 들 어 {name: 1}
복합
여러 필드 에 있 는 색인 을 지정 할 수 있 습 니 다.이 색인 은 첫 번 째 필드 의 값 에 따라 정렬 한 다음 두 번 째 필드 를 누 르 십시오.
다 중 키
저장 항목 배열 의 필드 를 추가 하면 배열 의 모든 요소 에 대한 단독 색인 도 생 성 됩 니 다.이것 은 색인 에 포 함 된 값 을 사용 하여 파일 을 더욱 빠르게 찾 을 수 있 게 한다.예 를 들 어 my Objects 라 는 대상 을 고려 할 때 대상 마다 score 필드 의 배열 이 있 습 니 다. {my Objects. score: 1}
지리 공간의
MongoDB 는 2D 나 2sphere 좌표 에 따라 지리 공간 색인 을 만 들 수 있 습 니 다.이것 은 지리 적 공간 위 치 를 응용 한 데 이 터 를 더욱 효과적으로 저장 하고 검색 할 수 있 게 한다.
텍스트
MongoDB 는 색인 내부 에 단어 에 포 함 된 문자열 요 소 를 빠르게 찾 을 수 있 도록 텍스트 색인 을 추가 하 는 것 을 지원 합 니 다.이 색인 은 the, a, and 와 같은 단 어 를 저장 하지 않 습 니 다.예: {connect: "text"}
산열 하 다
해시 기반 의 세 션 을 사용 할 때 MongoDB 는 해시 색인 을 사용 할 수 있 도록 합 니 다. 특정 서버 에 저 장 된 값 과 일치 하 는 해시 값 만 색인 할 수 있 습 니 다.이것 은 다른 서버 의 항목 의 산열 값 을 유지 하 는 비용 을 줄 였 다.예: {key: "hashed"}
색인 에 특정한 속성 을 설정 하여 MongoDB 가 색인 을 어떻게 처리 하 는 지 정의 할 수 있 습 니 다.
색인 필드 에 중복 값 이 있 는 문 서 를 색인 하 는 것 을 거부 하고 색인 필드 가 포함 되 지 않 은 모든 문 서 를 거부 할 수 있 습 니 다.
MongoDB 셸, MongoDB Node. js 네 이 티 브 클 라 이언 트 나 Mongoose 에서 색인 을 만 들 수 있 습 니 다.MongoDB 셸 에서 색인 을 만 들 려 면 ensureIndex (index, properties) 방법 을 사용 해 야 합 니 다.예 를 들 면:
db.myCollection.ensureIndex({name:1},{background:true,unique:true,sparse:true})
background 옵션 은 만 든 색인 을 셸 의 프론트 에 보 낼 지 백 엔 드 에 보 낼 지 지정 합 니 다.프론트 데스크 에서 실행 되 는 속도 가 빠 르 지만 더 많은 시스템 자원 을 차지 합 니 다.그래서 생산 시스템 의 피크 시기 에 프런트 에서 운행 하 는 것 은 좋 은 생각 이 아니다.
MongoDB Node. js 네 이 티 브 드라이버 에서 색인 을 만 들 려 면 Db 대상 의 인 스 턴 스 에서 ensureIndex (collection, index, options, callback) 방법 을 호출 할 수 있 습 니 다.예 를 들 면:
var MongoClient = require('mongdb').MongoClient;
MongoClient.connect(",ongodb://localhost/",function(err,db){
db.ensureIndex('myCollection',{name:1},
{background:true,unique:true,sparse:true},
function(err){
if(!err)console.log("Index Created");
});
});
Mongoose 의 Schema 대상 을 사용 하여 색인 을 만 들 려 면 이 모드 의 필드 에 index 옵션 을 설정 할 수 있 습 니 다. 예 를 들 어:
var s= new Schema({name:{type:string,index:true,unique:true}});
너 도 나중에 index () 방법 을 사용 하여 패턴 대상 에 색인 을 추가 할 수 있다.예 를 들 면:
s.schema.path('some.path').index({unique:true,sparse:true});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Heroku에서 mLab add-on 종료로 Mongo DB atlas로 마이그레이션Heroku의 Add-on으로 제공된 mLab MongoDB가 2020/11/10 종료됩니다. 요 전날 mLab이 MongoDB, Inc.에 인수되었기 때문에 동반됩니다. errbit 등을 Heroku에서 호스팅하는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.