以下のmongoコレクションのscorecardList.filenameフィールドに一意のインデックスを作成しようとしています。目的は、scorecardList に同じファイル名で別の要素を作成できないようにすることです。
モンゴスキーマ:
{
"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]
一意のインデックスを作成するときに使用しようとしたMongoコマンドは次のとおりです。
db.testing.createIndex(
{ "scorecardList.filename": 1 },
{
unique: true,
partialFilterExpression: {
"scorecardList.filename": { $exists: true }
}
}
);
インデックスが作成されていても、既存のファイル名でスコアカードを追加できます。
助けてください。