Можете да направите това, като използвате поддръжката на MongoDB за частични индекси който беше добавен в 3.2.
var mySchema = new Schema({ oneTrue: Boolean });
mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});
Това ще създаде уникален индекс на oneTrue
поле само когато стойността му е true
. По този начин множество документи с false
стойност са разрешени, но само една, където е true
.