4

以下の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 } 
        } 
    }
);

インデックスが作成されていても、既存のファイル名でスコアカードを追加できます。

助けてください。

4

1 に答える 1