Pour aller au-delà de la contrainte d'unicité disponible nativement dans les index, vous devez utiliser quelque chose comme Mongoose et sa capacité à prendre en charge la validation basée sur les champs. Cela vous donnera un support pour des choses comme la valeur minimale, mais uniquement lorsque les mises à jour passent par vos schémas/modèles Mongoose.
Mise à jour MongoDB 3.2
La validation des documents est désormais prise en charge nativement par MongoDB.
Exemple tiré de la documentation :
db.createCollection( "contacts",
{ validator: { $or:
[
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
}
} )