インデックスでネイティブに利用できる一意性の制約を超えるには、Mongooseやフィールドベースの検証をサポートする機能などを使用する必要があります。これにより、最小値などのサポートが提供されますが、更新がMongooseスキーマ/モデルを通過する場合に限ります。
MongoDB3.2アップデート
ドキュメントの検証は、MongoDBによってネイティブにサポートされるようになりました。
ドキュメントの例:
db.createCollection( "contacts",
{ validator: { $or:
[
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
}
} )