U kunt dit doen met behulp van MongoDB's ondersteuning voor gedeeltelijke indexen dat is toegevoegd in 3.2.
var mySchema = new Schema({ oneTrue: Boolean });
mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});
Dit maakt de unieke index op de oneTrue
veld alleen waar de waarde true
is . Op die manier kunnen meerdere documenten met een false
waarde zijn toegestaan, maar slechts één waar deze true
is .