Du kan göra detta med MongoDB:s stöd för partiella index som lades till i 3.2.
var mySchema = new Schema({ oneTrue: Boolean });
mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});
Detta kommer att skapa det unika indexet på oneTrue
endast där dess värde är true
. På så sätt, flera dokument med en false
värden är tillåtna, men bara ett där det är true
.