아래의 언급 된 mongo 컬렉션의 scorecardList.filename 필드에 고유 인덱스를 만들려고합니다. 목적은 동일한 파일 이름으로 scorecardList에 다른 요소를 만들 수 없어야한다는 것입니다.Mongo DB 컬렉션의 임베디드 배열에 고유 인덱스를 추가하는 방법
몽고 스키마
{
"Name": "Ravikant Khond",
"PIN" : "411057",
"scorecardList": [
{
"fileName" : "ScoreCard_April_2016.pdf",
"runDate" : ISODate("2016-05-01T00:00:00.000Z"),
"month" : "April",
"year" : "2016"
},
{
"fileName" : "ScoreCard_May_2016.pdf",
"runDate" : ISODate("2016-06-01T00:00:00.000Z"),
"month" : "May",
"year" : "2016"
}
]
}
[1] I 고유 인덱스를 생성하는 동안 다음과 같이 사용하려고
몽고 명령 : 인덱스 I 작성된
db.testing.createIndex(
{ "scorecardList.filename": 1 },
{
unique: true,
partialFilterExpression: {
"scorecardList.filename": { $exists: true }
}
}
);
비록 기존 파일 이름이있는 스코어 카드를 추가 할 수 있습니다.
도와주세요.
샘플 문서에는 scorecardList.fileName의 대문자 'N'이 표시됩니다. 그리고 색인은 파일 이름에 소문자 'n'을 사용하여 색인을 생성합니다. – dyouberg