Sie können dies tun, indem Sie MongoDBs Unterstützung für partial indexes verwenden das wurde in 3.2 hinzugefügt.
var mySchema = new Schema({ oneTrue: Boolean });
mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});
Dadurch wird der eindeutige Index auf oneTrue
erstellt Feld nur dort, wo sein Wert true
ist . Auf diese Weise mehrere Dokumente mit einem false
-Wert sind erlaubt, aber nur einer, bei dem es true
ist .